<samp id="uu9tx"></samp>
        <samp id="uu9tx"><tr id="uu9tx"><nav id="uu9tx"></nav></tr></samp>
        <delect id="uu9tx"><legend id="uu9tx"><meter id="uu9tx"></meter></legend></delect>
                <samp id="uu9tx"><tr id="uu9tx"><meter id="uu9tx"></meter></tr></samp><nav id="uu9tx"></nav>
                <samp id="uu9tx"></samp>
                  <samp id="uu9tx"><tr id="uu9tx"><meter id="uu9tx"></meter></tr></samp>
                  江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
                  2012秋江蘇省計算機二級C上機真題1

                  2012秋江蘇省計算機高校計算機二級

                   C語言上機試卷01

                  一、改錯題

                  【程序功能】

                    函數fun的功能是將str所指向的一行包含若干單詞的文本(單詞之間用空格隔開)依次拆分成長度不超過20個字符的若干文本行,單詞不跨行,且使拆分出的行數最少,再將拆分出的每行字符以字符串的形式存儲到page指向的二維數組的一行中,函數返回拆分出的行數

                    【測試數據與運行結果】

                    測試數據:A  great discovery  solves a  greate problem.

                    屏幕輸出:

                            A great disconvery

                            solves a great

                            problem

                  【含有錯誤的源程序】

                    以下源程序已保存在Tmyf1.c文件內,考生可直接打開該文件調試程序

                  #include <string.h>

                  #include <stdio.h>

                  #include <conio.h>

                  int fun(char str[],char pag[][])

                  {int i,k=0,j,flag=1;

                   while(*str && flag)

                   {if(strlen(str)<20)

                     {pag[k]=str;

                      flag=0;   

                     }

                     else

                     {i=20;

                      while(str[i]!=' ') i--;

                      for(j=0;j<i;j++)

                          pag[k][j]=str[i];

                      pag[k][i]='\0';

                      strcpy(str,str+i+1);

                     }

                      k++;

                    }

                    return k;

                  }

                   

                   

                  int main()

                  {char str[80]={A great discovery solves a great problem.};

                   char pag[40][21];

                   int i,k;

                   k=fun(str,pag);

                   for(i=0;i<k;i++)

                    puts(pag[i]);

                   getch();

                   return 0;

                  }

                  【要求】

                      1.打開T盤中myf1.c文件或將上述程序錄入到myf1.c文件中,根據題目要求及程序中

                  語句之間的邏輯關系對程序中的錯誤進行修改。

                      2.改錯時,可以修改語句中的一部分內容,調整語句次序,增加少量的變量說明或編譯預

                  處理命令,但不能增加其他語句,也不能刪去整條語句。

                      3.將改正后的源程序(文件名myf1.c)保存在T盤中供閱卷使用,否則不予評分。

                  二、編程題(24)

                      【程序功能】

                    尋找所有水仙花數(水仙花數是指一個三位數中各位數字的立方之和等于該三位數自身。例如,153=1 +5 +3 ,因此153是水仙花數),并生成每個水仙花數的反序數

                    【編程要求】

                    1.編寫函數int sxh(int a[ ],int b[ ]),函數的功能是:將所有水仙花數保存到a指向的數組,將所有水仙花數的反序數保存到b指向的數組,函數返回水仙花數的個數

                    2.編寫main函數,函數的功能:聲明數組ab,a、b作實參調用sxh函數,a、b數組中全部數據輸出到屏幕myf2.out,最后將考生本人的準考證號字符串輸出到文件myf2.out

                    【測試數據與運行結果】

                    屏幕輸出:

                       Three daffodil number: 153  370  371  407

                       Three inverse number:351  73  173  704

                  【要求】

                  1.源程序文件名為myf2.c,輸出結果文件名為myf2.out。

                  2.數據文件的打開、使用、關閉均用C語言標準庫中的文件操作函數實現。

                  3.源程序文件和運行結果文件均需保存在T盤中供閱卷使用。

                  4.不要復制擴展名為objexe的文件到T盤中。

                   

                   

                  改錯題:

                  (1)   char  pag[][]   改為    char pag[][21]

                  (2)  pag[k]=str;      改為    strcpy(pag[k],str)

                  (3)  pag[k][j]=str[i]   修改為  pag[k][j]=str[j]

                  (4)  char str[80]={A great discovery solves a great problem.};   修改為

                                               char str[80]={“A great discovery solves a great problem.”};

                   

                  #include <stdio.h>

                  #include <conio.h>

                   

                  int sxh(int a[],int b[])

                  { int n1,n2,n3,count=0,i;

                    for(i=100;i<=999;i++)

                    {

                         n1=i/100;

                      n2=i/10%10;

                         n3=i%10;

                         if((n1*n1*n1+n2*n2*n2+n3*n3*n3)==i)

                         {     a[count]=i;

                             b[count++]=n3*100+n2*10+n1;

                         }

                    }

                         return count;

                  }

                   

                  int main()

                  {  int a[100],b[100],i,count=0;

                     FILE *fp;

                     fp=fopen("myf2.out","w");

                     count=sxh(a,b);

                     printf("Three daffodil number:");

                     fprintf(fp,"Three daffodil number:");

                     for(i=0;i<count;i++)

                     { printf("%5d",a[i]);

                       fprintf(fp,"%5d",a[i]);

                     }

                     printf("\n");

                     fprintf(fp,"\n");

                     printf("Three inverse number:");

                     fprintf(fp,"Three inverse number:");

                     for(i=0;i<count;i++)

                     {printf("%5d",b[i]);

                      fprintf(fp,"%5d",b[i]);

                     }

                     printf("\n");

                     fprintf(fp,"\n My exam number is:0112400123");

                     fclose(fp);

                     getch();

                     return 0;

                  }

                  亚洲欧美日韩国产一区二区三区_全亚洲免费一级黄片_国产一区二区三区不卡视频手机版_国产污三级网站在线观看