Demo
int main() {
int count = 0;
int person[40] = {};
int killNumber = 0;//死亡编号
int deathFlag = -1;//代表死亡
int deathCount = 0;//死亡人数
int number = 0;//报数编号
//确定人数
printf("请输入参与的人数:");
scanf("%d", &count);
//立刻给每一个参与的人编号
for (int i = 0; i < count; ++i) {
person[i] = i+1;
}
//确定出局编号
printf("请输入出局编号:");
scanf("%d", &killNumber);
//开始游戏了
/**
使用一个东西(特殊的值 -1)来表示某种状态
-1 -1 -1 4 -1
3
如何表示死亡 使用-1来表示死亡状态
什么情况下停止这个循环:当存活人数=1 死亡人数=count-1
*/
for (int i = 0; i < count; ++i) {
//判断这个人是否活着
if (person[i] != -1){
//需要报数
number++;
//检查是否报到死亡编号了
if (number == killNumber){
//杀掉之前输出这个人的编号
printf("%d ",person[i]);
//杀掉这个人
person[i] = -1;
//重置
number = 0;
//杀掉的人数++
deathCount++;
//判断死亡人数
if (deathCount == count - 1){
break;
}
}
}
//判断是否走到最后一个了
if (i == count-1){
//回到第一个
i = -1;
}
}
return 0;
}
Demo
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//产生一个随机数 1 - 100 60
//用户开始猜数字:50
//比50大
//请输入数字:80
//比80小
//请输入数字:70
//比70小 60
//恭喜你答对了
int main() {
int num = 0;
int guessNumber = 0;
srand(time(0));
num = rand() % 100 + 1;
while (1){
printf("请输入猜测数字:");
scanf("%d", &guessNumber);
if (guessNumber == num){
printf("恭喜你 猜对了!!\n");
break;
}
if (num > guessNumber){
printf("大于%d ",guessNumber);
}else{
printf("小于%d ",guessNumber);
}
}
return 0;
}
【链接】最新版c语言经典习题100例(最全面)
https://wenku.baidu.com/view/48e09ef2bd64783e08122b18.html#