C语言:n个编号为1~n的人围坐一圈,从1号开始正向报数到m者退出,从下一人继续;求出列序列,咋编程?
要求:1)n和m由键盘输入,整数,0<n,m<21。2)由程序为n个人从1~n编号,测试过程中编号不变。3)若输入错误或不合适则输出ERROR后退出程序。4)用数组操作,...
要求:
1)n和m由键盘输入,整数,0<n,m<21。
2)由程序为n个人从1~n编号,测试过程中编号不变。
3)若输入错误或不合适则输出ERROR后退出程序。
4)用数组操作,出列序列留在一个数组中。 展开
1)n和m由键盘输入,整数,0<n,m<21。
2)由程序为n个人从1~n编号,测试过程中编号不变。
3)若输入错误或不合适则输出ERROR后退出程序。
4)用数组操作,出列序列留在一个数组中。 展开
1个回答
展开全部
代码文本:
#include "stdio.h"
int main(int argc,char *argv[]){
int a[20],b[20],i,j,t,n,m;
printf("Enter n(int 0<n,m<21)...\nn m = ");
if(scanf("%d%d",&n,&m)==2 && n>0 && n<21 && m>0 && m<21){
for(i=0;i<n;a[i++]=i+1);//创建人员编号
i=-1,j=t=0;
printf("\nThe result is:\n");
while(t<n)
if(a[++i%=n] && (++j%=m)==0){
printf("%d ",b[t++]=a[i]);//生成并输出序列
a[i]=0;
}
putchar('\n');
}
else
puts("ERROR");
return 0;
}
供参考……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询