补充countValue()函数,函数功能是:选出5000以下符合条件的自然数。其条件是t千位数与百位数之和等于十位数与个位数之和,并且千位数与百位数之和等于个位数与十位数之差的10倍。计算并输出这些四位自然数的个数count以及这些数之和sum。最后调用

admin2021-06-16  50

问题 补充countValue()函数,函数功能是:选出5000以下符合条件的自然数。其条件是t千位数与百位数之和等于十位数与个位数之和,并且千位数与百位数之和等于个位数与十位数之差的10倍。计算并输出这些四位自然数的个数count以及这些数之和sum。最后调用函数WriteData()。把结果count和sum输出到OUT_DAT中。
    注意:部分源程序已经给出。
    请勿改动主函数Main()中的内容。
    试题程序:
    #include
    int count,sum;
    void countValue()
    {
    }
    void WriteData()
    {
    FILE*fp;
    fp=fopen(“OUT.DAT”,“W”);
    fprintf(fp,“%d\n%d\n”,count,sum);
    fclose(fp);
    }
    void main()
   {
    count=sum=0;
    countValue();
    printf(“满足条件的自然数个数是:%d\n”,count);
    printf(“满足条件的自然数个数之和是:%d\n”,
    sum);
    WriteI)ata();
    }

选项

答案int itthou,hun,ten,datal for(i=5000;i>=1000;i--) { thou=i/1000; hun=i%looo/100; ten=i%100/10; data=i%10; if(thou+hun==ten+data&&.thou+hun==(da ta—ten)*10) { count++; sum+=i } }

解析 For循环递减遍历5000~1000之间的数,并且取当前数的千位数字、百位数字、十位数字、个位数字。如果千位加百位等于十位加个位且千位加百位等于个位减去千位乘10,则计数值count加1,并将i累加到sum中。
转载请注明原文地址:https://kaotiyun.com/show/7uOZ777K
0

相关试题推荐
最新回复(0)