1203081549 发表于 2023-3-24 20:26:45

基础算法问题

void main()
                  {
                        int a,n,k=0,i,j;
                        scanf("%d%d",&a,&n);
                        for(i=1;i<=n;i++)
                        {
                            while(i)
                            {
                              j=i%10;
                              if(j==2)
                              k++;
                              i=i/10;
                            }
                        }
                        printf("%d",k);
                  }
此程序功能是判断1-n中有几个a 例如输入2 和22 输出6 但是我这个程序好像形成了死循环,求大佬看看

dolly_yos2 发表于 2023-3-24 20:30:10

本帖最后由 dolly_yos2 于 2023-3-24 20:31 编辑

先把 void main 改一改
内部循环修改 i 的值了,外部循环“不稳定”了
另外代码里哪用到 a 了?是不是硬编码成 2 了?

1203081549 发表于 2023-3-24 20:38:15

dolly_yos2 发表于 2023-3-24 20:30
先把 void main 改一改
内部循环修改 i 的值了,外部循环“不稳定”了
另外代码里哪用到 a 了?是不是硬 ...

ok了一言惊醒梦中人 第二个错误是if里是判断j是否等于a但是我写成了2    应该是这样 if(j==a)
改好了感谢
页: [1]
查看完整版本: 基础算法问题