为什么加了printf和不加最后的结果会不同?

这是个求1~n之间出现了多少1的代码,例如11就数2次,按道理应该没错啊,代码(没加)#include<stdio.h>int wei(int i);int main(){ int n,t1=0,t2=0,i,j,num,x,y; scanf("%d",&n); for(i=1;i<=n;i++) { y=wei(i); num=i; for(j=1;j<=y;j++) { x=num%10; num=i/10; if(x==1) t1++; } } printf("%d",t1);}int wei(int i){ int y; while(i!=0) { i=i/10; y++; } return y;}
出的结果不对我就加了个printf在主函数里图放后面了

    请点击输入图片描述

    #include<stdio.h>

    int main()

    { int n,t1=0,i,num;

    scanf("%d",&n);

    for(i=1; i<=n; i++)

    for(num=i; num; num/=10)

    if(num%10==1) t1++;

    printf("%d",t1);

    return 0;

    }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-16

试试上面的。

本回答被提问者采纳
相似回答