2006年9月全國等級考試三級c語言上機(jī)題庫(六十六)

字號(hào):

★☆題目66(無憂id 47 素?cái)?shù)題)
    下列程序prog1.c的功能是:計(jì)算500-800區(qū)間內(nèi)素?cái)?shù)的個(gè)數(shù)cnt,并按所求素?cái)?shù)的值從大到小的順序,再計(jì)算其間隔加、減之和,即第1個(gè)素?cái)?shù)-第2個(gè)素?cái)?shù)+第3個(gè)素?cái)?shù)-第4個(gè)素?cái)?shù)+第5個(gè)素?cái)?shù)...的值sum。請編寫函數(shù)countValue()實(shí)現(xiàn)程序的要求,最后調(diào)用函數(shù)writeDat()把結(jié)果cnt和sum,輸出到文件OUT11.DAT中。
    部分源程序已給出。
    請勿改動(dòng)主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。
    #include
    int cnt,sum;
    void countValue()
    {int i,j,k=1;
    for(i=800;i>500;i--)
    { for(j=2;j    if(i%j==0) break;
    if(j==i) { cnt++; sum=sum+k*i; k=k*(-1); }
    }
    }
    void main()
    {
    cnt=sum=0;
    countValue();
    printf("素?cái)?shù)的個(gè)數(shù)=%d\n",cnt);
    printf("按要求計(jì)算的值=%d\n",sum);
    writeDat();
    }
    writeDat()
    {
    FILE *fp;
    fp=fopen("OUT11.DAT","w");
    fprintf(fp,"%d\n%d\n",cnt,sum);
    fclose(fp);
    }