下列程序的功能是:选出100~1000间的所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt,以及这些素数值的和sum。请编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件OUT17.DAT中。注意:部分源程序已给出。请勿改动主函数main()和写函数writeDAT()的内容。试题程序:include <stdio.h>int cnt, sum;void countValue(){}mai

题目

下列程序的功能是:选出100~1000间的所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt,以及这些素数值的和sum。请编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件OUT17.DAT中。

注意:部分源程序已给出。

请勿改动主函数main()和写函数writeDAT()的内容。

试题程序:

include <stdio.h>

int cnt, sum;

void countValue()

{

}

main()

{

cnt=sum=0;

countValue();

print f ("素数的个数=%d\n", cnt);

printf("满足条件素数值的和=%d", sum);

writeDAT();

}

writeDAT()

{

FILE *fp;

fp=fopen("OUT17.DAT", "w");

fprintf(fp, "%d\n%d\n", cnt, sum);

fclose(fp);

}


相似考题
更多“下列程序的功能是:选出100~1000间的所有个位数字与十位数字之和被10除所得余数恰是百位数字的素 ”相关问题
  • 第1题:

    程序test.c的功能是:选出大于100小于1000的所有个位数字与十位数字之和被10除所得余数恰是百位数字的所有素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。请考生编写函数countValue实现程序要求,最后调用函数writeDAT把结果cnt和sum输出到文件out.dat中。


    正确答案:
    【审题关键句】选出100以上、1000以内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数,计算并输出上述这些素数的个数以及这些素数值的和。
    【解题思路】
    ①首先定义一个循环变量循环i以及用来存放3位数分解之后各位数的变量bw(百位)、SW(十位)和gw(个位)。②通过for循环对100到999的每个数字进行逐个的扫描,循环变量i从100开始,每执行一次循环,i的值加1。③在每次执行for循环时,分解当前变量i值的百位上的数字、十位上的数字和个位上的数字,然后利用表达式(gw+SW)
    %10==bw来判断个位数字与十位数字之和被l0除所得余数与百位数字是否相等,同时调用函数isP判断变量i的值是否是素数,如果以上两个条件同时满足(两个表达式通过运算符进行连接),则计数变量cnt值加1、并把其值加到变量sum上,直到循环结束,即可求出从100到999中所有满足条件的素数的个数和它们的和。
    【参考答案】


  • 第2题:

    一个三位数,百位的数字比十位的数字大而且都可以被3 整除,十位的数字和个位的数字都可以被2整除而且相加的值比百位大1,则这个三位数是( )。

    A.632
    B.942
    C.964
    D.639

    答案:C
    解析:
    根据题目,百位的数字比十位的数字大而且都可以被3 整除,排除B;十位的数字和个位的数字都可以被2 整除,排除A、D,只剩余964,且满足十位个位相加值比百位大l,故选择C。

  • 第3题:

    完成习题练习并上传程序及结果: 题目:求m=361的个位数字、十位数字和百位数字。


  • 第4题:

    程序test.c的功能是:选出1000至5 000范围内(包括1 000、5 000)符合下面条件的四位自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的整10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue实现程序的要求。最后main函数调用函数 writeDAT把结果crlt和sum输出到out.dat文件中。


    正确答案:
    【审题关键句】千位+百位等于十位十个位,且千位+百位等于个位.千位的10倍。计算并输出这些四位自然数的个数cnt以及这些数的和。
    【解题思路】
    ①首先定义一个循环变量i,以及分别用来存放四位数分解之后各位数的变量qw(千位)、bw(百位)、SW(十位)和gw(个位)。
    ②通过for循环依次对数组中的每个四位数进行分解,循环初值为1000,终值为5000,每循环一次,循环变量i的值加1。每分解一个四位数,根据题目要求,判断其“千位十百位=十位+个位”的条件是否满足,同时判断“(千位+百位)=(个位-于位)*10”的条件是否满足,两个条件之间用运算符进行连接。当同时满足以上两个判断条件时,计数变量cnt的值加1,同时将该四位数累加到求和变量sum中,最终得到满足条件的四位自然数个数cnt及它们的和sum。
    本题中cnt和sum变量在源程序中已经定义,在该子程序中就不需要再重新定义了。
    【参考答案】

  • 第5题:

    一个三位数的个位数字比十位数字小1,百位数字是十位数字的3倍。若将个位与百位数字对调,所得新三位数比原三位数小693,则原三位数个位、十位、百位的数字之和是

    A.12
    B.14
    C.13
    D.15

    答案:B
    解析:
    根据题意,设原三位数百位、十位、个位的数字分别为a、b、c,则可得方程组: b-c=1; a=3b;(100+ 106+c)-(100c+ 106+a)= 693。解得a=9, b=3, c=2,则原三位数百位、十位、个位的数字之和=9+3+2= 14。