帮我写一个c语言,已知ABCDEFG共7个人,围成一圈从1开始报数,输入正整数N,输出报数为N的人所对应的大写字母。
时间: 2024-06-01 19:14:27 浏览: 96
好的,以下是实现这个功能的 C 语言代码:
#include <stdio.h>
#define MAX_PEOPLE 7
int main()
{
int n;
printf("请输入报数的数字:");
scanf("%d", &n);
if(n <= 0) // 非正整数无效
{
printf("请输入正整数!\n");
return 0;
}
int count = 0; // 计数器,表示已经报数的人数
int p = 0; // p 表示指向当前正在报数的人
char names[MAX_PEOPLE] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; // 为了方便,把人名预先定义好
while(count < MAX_PEOPLE) // 只要还有人没有报数,就一直循环下去
{
if(n == count + 1) // 找到了报数为 N 的人
{
printf("报数为 %d 的人是 %c\n", n, names[p]);
break;
}
p = (p + 1) % MAX_PEOPLE; // 指向下一个人,如果已经到了最后一个人,就回到第一个人
if(p == 0) // 表示已经一个轮回了,计数器+1
{
count++;
}
}
return 0;
}
运行结果:
请输入报数的数字:5
报数为 5 的人是 A
阅读全文