C语言每日一练——第5题
一、题目要求
选出大于100小于1000的所有个位数与十位数字之和被10除所得余数恰好是百位数字的所有数字(如293)。计算并输出上述这些素数的个数cnt以及这些素数值得sum,最后把结果cnt和sum输出到文件out.dat中
二、程序代码
#include <stdio.h> int cnt, sum; void writeDAT() { FILE *fp; fp = fopen("out.dat", "w"); fprintf(fp, "%d\n%d\n", cnt, sum); fclose(fp); } int isP(int num) { int i; for(i = 2; i < num / 2; i++) { if(num % i == 0) { return 0; } } return 1; } void countValue() { int i,bw,sw,gw; for(i=100;i<=1000;i++) { if(isP(i)) { bw=i/100; sw=(i-bw*100)/10; gw=i%10; if((sw+gw)%10==bw) { cnt++; sum+=i; } } } } void main() { cnt = sum = 0; countValue(); printf("素数的个数=%d\n", cnt); printf("满足条件素数值的和=%d\n", sum); writeDAT(); }
三、程序运行结果