我用字符串做的错了??
查看原帖
我用字符串做的错了??
609989
scrrr楼主2022/1/29 22:44

我不理解为什么第一遍用转字符串的方法错了,后来用单个数字判断才ac的。 下面是修改的代码。dalao能否帮我解答一下为什么后面到了大数部分就不是那个数了(和本来的数不一样了)。

#include<stdio.h>
#include<string.h>
int main()
{
//    char a[1000001];
    int n,x,cnt;
    unsigned long long i,j,temp;
    scanf("%d%d",&n,&x);
    j=0;
    cnt=0;
    for(i=1;i<=n;i++){
        temp=i;
        while(temp){
//            a[j++]=('0'+temp%10);
            if(temp%10==x)
                cnt++;
            temp/=10;
        }
    }
//    a[j]='\0';
//    i=0;
//    while(a[i]!='\0'){
//        if(a[i]==('0'+x))
//            cnt++;
//        i++;
//    }
    printf("%d",cnt);
}

2022/1/29 22:44
加载中...