2010計算機等級考試三級數(shù)據(jù)庫技術上機模擬題(5)

字號:

2010計算機等級考試三級數(shù)據(jù)庫技術上機模擬題(5)

    下列程序的功能是:在三位整數(shù)(100至999)中尋找符合條件的整數(shù)并依次從小到大存入數(shù)組中;它既是完全平方數(shù),又是兩位數(shù)字相同,例如144、676等。請編制函數(shù)實現(xiàn)此功能,滿足該條件的整數(shù)的個數(shù)通過所編制的函數(shù)返回。最后調用函數(shù)writeDat()把結果輸出到文件out.dat中。請勿改動主函數(shù)main()和寫函數(shù)writeDat()的內容。
    #include
    int jsvalue(int bb[])
    {
    }
    main
    {
    int b[20],num;
    num=jsvalue(b);
    writeDat(num,b);
    }
    writeDat(int num,int b[])
    {
    FILE *out;
    int i;
    out=fopen(\"out.dat\",\"w\");
    fprintf(out,\"%d\\n\",num);
    for(i=0;i
    fclose(out);
    }
    --------------------------------------------------------------------------------
    注:注意在i==(int)sqrt(i)*(int)sqrt(i)中只有當i是完全平方數(shù)時開平方后再取整才不會丟失任何數(shù)據(jù)。
    int jsvalue(int bb[])
    {
    int i,j,k=0,g,s,b;
    for(i=100;i<=999;i++)
    {
    g=i;
    s=i/10;
    b=i/100;
    if((i==(int)sqrt(i)*(int)sqrt(i))&&(g==s//s==b//b==g))
    bb[k++]=i;
    }
    return k;
    }
    int jsvalue(int bb[])
    {
    int i,k=0;
    for(i=100;i<=999;i++)
    if((int)sqrt(i)*(int)sqrt(i)==i && (i/100==i || i/100==i/10 || i/10==i))
    bb[k++]=i;
    return k;
    }