2006年計算機三級上機題庫練習及答案(4)

字號:

第7題
     下列程序的功能是:在三位整數(shù)(100至999)中尋找符合條件的整數(shù)并依次從小到大存入數(shù)組中;該整數(shù)既是完全平方數(shù),又有兩個數(shù)字相同,例如144、676等。
    請編制函數(shù)jsValue()實現(xiàn)此功能,滿足該條件的整數(shù)的個數(shù)是通過所編制的函數(shù)返回。
    最后調(diào)用函數(shù)writeDat()把結果輸出到文件out7.dat中。
    請勿改動主函數(shù)main()和寫函數(shù)writeDat的內(nèi)容。
    #include
    jsValue(int bb[])
    {
    }
    main()
    {
    int b[20],num;
    num=jsValue(b);
    writeDat(num,b);
    clrscr();
    }
    writeDat(int num,int b[])
    {
    FILE *out;
    int i;
    out=fopen("out7.dat","w");
    printf("%d\n",num);
    fprintf(out,"%d\n",num);
    for(i=0;i{printf("%d\n",b[i]);
    fprintf(out,"%d\n",b[i]);}
    fclose(out);
    }
    【答案】
    jsValue(int bb[])
    {
    int i,j,k=0;
    int hun,ten,data;
    for(i=100;i<=999;i++)
    {
    j=10;
    while(j*j<=i)
    {
    if(i==j*j)
    {
    hun=i/100;data=i-hun*100;
    ten=data/10;data=data-ten*10;
    if(hun==ten||hun==data||ten==data)
    {bb[k]=i;k++;}
    }
    j++;
    }
    }