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

字號(hào):

題目67(無憂id 49 整數(shù)各位數(shù)字運(yùn)算題)
    下列程序的功能是:選出5000以下符合條件的自然數(shù)。條件是:千位數(shù)字與百位數(shù)字之和等于十位數(shù)字與個(gè)位數(shù)字之和,且千位數(shù)字與百位數(shù)字之和等于個(gè)位數(shù)字與千位數(shù)字之差的10倍。計(jì)算并輸出這些四位自然數(shù)的個(gè)數(shù)cnt以及這些數(shù)的和sum。請編寫函數(shù)countValue()實(shí)現(xiàn)程序的要求,最后調(diào)用函數(shù)writeDat()把結(jié)果cnt和sum,輸出到文件OUT13.DAT中。
    部分源程序存在文件prog1.c中。
    請勿改動(dòng)主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容。
    #include
    int cnt,sum;
    void countValue()
    {int i,thou,hun,ten,data;
    for(i=1000;i<5000;i++)
    { thou=i/1000; hun=i%1000/100;
    ten=i%100/10; data=i%10;
    if(thou+hun==ten+data&&thou+hun==(data-thou)*10) {cnt++;sum+=i;}
    }
    }
    void main()
    {
    cnt=sum=0;
    countValue();
    printf("滿足條件的自然數(shù)的個(gè)數(shù)=%d\n",cnt);
    printf("滿足條件的自然數(shù)的個(gè)數(shù)之和=%d\n",sum);
    writeDat();
    }
    writeDat()
    {
    FILE *fp;
    fp=fopen("OUT13.DAT","w");
    fprintf(fp,"%d\n%d\n",cnt,sum);
    fclose(fp);
    }