有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出
#include<stdio.h>main()
{
int temp,n,i,j,k=0,t;
printf("输入n:");
scanf("%d",&n);
if(n<=0) return 0;
for(i=1;i<=n;i++)
temp=i;
j=n;
if(j==1)
{
printf("1号\n");
return 0;
}
while(j>=2)
{
for(i=0;i<n;i++)
{
if(temp!=0)
k++;
if(temp!=0&&k==1&&j==1)
{t=temp;break;}
if(k==3)
{
temp=0;
j--;
k=0;
}
if(i==n-1) i=0;
}
}
printf("%d号\n",t);
}
求解哪里错了???:loveliness: 终于做出来了代码贴上#include<stdio.h>
#include<windows.h>
void main()
{
int temp,n,i,j,k=0,t;
again:printf("请输入总人数n:");
scanf("%d",&n);
if(n<=0)
goto again;
for(i=1;i<=n;i++)
temp=i;
j=n;
while(j>=1)
{
for(i=0;i<n;i++)
{
if(temp!=0)
k++;
if(k==3)
{
temp=0;
j--;
k=0;
}
if(temp!=0&&k==1&&j==1)t=temp;
}
}
printf("%d号\n",t);
system("pause");
} uihiuhkhiuhkhiuhgfytuuuuyutu 这个程序运行不了在于后面结尾处少了一个},程序设计是错误的,得不出结果。 轻拿轻放 发表于 2013-12-9 22:15 static/image/common/back.gif
终于做出来了代码贴上
谢谢{:1_1:} 风涯 发表于 2013-12-10 10:57 static/image/common/back.gif
这个程序运行不了在于后面结尾处少了一个},程序设计是错误的,得不出结果。
能不能说下哪里错了!!谢谢 MARK:shock: 12月30日 发表于 2013-12-10 11:42 static/image/common/back.gif
能不能说下哪里错了!!谢谢
如果是少了一个}你加上去试试就可以,你设计的逻辑没有错,可能就是
if(j==1)
{
printf("1号\n");
return 0;
}
while(j>=2)
错误而已 ,我拿下来就是这里的printf("1号\n");和后面的printf("%d号\n",t);冲突;我是把这一部分删除了并且把判断条件改成while(j>=1)就是这样了。 还有这部分
again:printf("请输入总人数n:");
scanf("%d",&n);
if(n<=0)
goto again;
是判断输入的是否正确,如果不正确就goto跳转到标志again出执行 这样写试试
#include<stdio.h>
main()
{
int temp,n,i,j,k=0,t;
printf("输入n = ");
scanf("%d",&n);
if(n<=0)
return 0;
j = n;
if(j==1)
{
printf("%d号\n",j);
return 0;
}
for(i=1;i<=n;i++)
temp=i;
while(j>=1)
{
for(i=0;i<n;i++)
{
if(temp!=0)
k++; if(temp!=0&&k==1&&j==1)
{
t=temp;
break;
}
if(k==3)
{
temp=0;
j--;
k=0;
}
if(i==n)
i=0;
}
}
printf("%d号\n",t);
} 52621587 发表于 2013-12-10 23:09 static/image/common/back.gif
这样写试试
#include
main()
谢谢帮忙:handshake
页:
[1]