for循环下面不能输出

感谢各位大哥    作为一个小菜鸡我属实是不知道我的代码问题出在哪,逻辑都对但就是不出结果;

#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