七十分求修改意见

回复帖子 返回题目

@ MTCmiliu 2017-10-12 22:58
#include<stdio.h>
int main()
{
    int m,n,i,j,a,b,t=0;
    scanf("%d %d",&m,&n);
    for(i=1;i<m+1;i++)//循环范围所有数值
    {
        b=i;
        for(j=0;j<7;j++)//检测每一个数的
        {
            a=b%10;
            b=b/10;
            if(a==n) t++;
        }
    }
    printf("%d",t);
    return 0;
}
应该没有数据运算问题吧,是不是什么不符合计算机标准了,求大佬意见
@ zdx1031705564 2017-10-21 17:47 回复

要是n=0,你这程序肯定错,不是每个数都有七位,但你却比如输入 1 0,那么在1这个数上,你的循环j将会运行7次,测试出你的数是0000001,输出是6,你自己试试

@ zdx1031705564 2017-10-21 17:50 回复
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
    long int n,x,sumn=0,i,k;
    cin>>n>>x;
    for(i=1;i<=n;i++)
    {
        k=i;
        for(;k>=10;){
            if(k%10==x) sumn++;
            k=k/10;
        }
    if(k==x) {sumn++;}
    }
    cout<<sumn<<endl;
    return 0;
}