2006年9月全國等級考試三級c語言上機題庫(三十四)
★☆題目34(無憂id 73,102 素數題)無憂id 102 題提供了求素數isprime()函式 程式prog1.c的功能是:選出100以上1000之內所有個位數字與十位數字之和被10除所得餘數恰是百位數字的素數(如293)。計算並輸出上述這些素數的個數cnt以及這些素數值的和sum。請考生編寫函式countvalue( )實現程式要求,最後調用函式writedat()把結果cnt和sum輸出到檔案bc10.out中。注意:部分源程式存放在檔案prog1.c中。請勿改動主函式main( )和輸出數據函式writedat()的內容。#include <stdio.h>int cnt, sum ; void countvalue(){ int i,j,bw,sw,gw;for(i=100;i<1000;i++){ bw=i/100; sw=i%100/10; gw=i%10;for(j=2;j<i;j++)if(i%j==0) break;if((i==j) &&(gw+sw)%10==bw) { cnt++; sum+=i;}}} void main(){cnt=sum=0; countvalue() ;printf("素數的個數=%d\n", cnt) ;printf("滿足條件素數值的和=%d", sum) ;writedat() ;} writedat(){file *fp ; fp = fopen("bc10.out", "w") ;fprintf(fp, "%d\n%d\n", cnt, sum) ;fclose(fp) ;}輸出結果為:素數的個數=15滿足條件素數值的和=6825