感谢各位大哥 作为一个小菜鸡我属实是不知道我的代码问题出在哪,逻辑都对但就是不出结果;
#include<stdio.h>
int main()
{
int a[1024];
int ss[11]={0,0,0,0,0,0,0,0,0,0,0};
int i=0,j=0,s=0;
a[0]=0;
for(i=1;i<=1000;i++)
{
a[i]=(a[i-1]%10)+1;
}
for(j=1;j<=1000;j++)
{
s=s+j;
if(a[s]==1)
{ss[1]++;}
if(a[s]==2)
{ss[2]++;}
if(a[s]==3)
{ss[3]++;}
if(a[s]==4)
{ss[4]++;}
if(a[s]==5)
{ss[5]++;}
if(a[s]==6)
{ss[6]++;}
if(a[s]==7)
{ss[7]++;}
if(a[s]==8)
{ss[8]++;}
if(a[s]==9)
{ss[9]++;}
if(a[s]==10)
{ss[10]++;}
}
// ------------------------------------------------下面不出数据,上面循环里面都有数据
for(int mn=1;mn<=10;mn++)
{
if(ss[mn]==0)
{
printf("%d\n",mn);
}
}
return 0;
}
你的代码问题比较多,也不用写那么复杂,还是按照你的程序逻辑修改如下,可用请采纳
#include<stdio.h>
void main()
{
int a[1024];
int ss[10]={0};
int i=0,j=0,s=0;
a[0]=0;
for(i=1;i<=1000;i++)
{
a[i]=(a[i-1]+i)%10;
}
for(j=0;j<1000;j++)
{
ss[a[j]]++;
}
// ------------------------------------------------下面不出数据,上面循环里面都有数据
for(int mn=0;mn<10;mn++)
{
if(ss[mn]==0)
{
printf("%d\n",mn+1);
}
}
}
说明ss[mn]==0并不成立,你加个else输出就知道了
代码如下:{如果对你有帮助,可以给我个采纳吗,谢谢!! 点击我这个回答右上方的【采纳】按钮}。
#include<stdio.h>
int main()
{
int ss[10]={0,0,0,0,0,0,0,0,0,0};
int i,j=0;
for(i=1;i<=1000;i++)
{
ss[j]++;
j = (j+i)%10;
}
int f = 0;
for(int mn=0;mn<10;mn++)
{
if(ss[mn]==0)
{
if (f)
printf(" ");
f = 1;
printf("%d",mn+1);
}
}
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632