欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      2015 上海計算機等級考試二級C(B卷)

      時間:2019-05-14 11:31:20下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《2015 上海計算機等級考試二級C(B卷)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《2015 上海計算機等級考試二級C(B卷)》。

      第一篇:2015 上海計算機等級考試二級C(B卷)

      2015二級C(B卷)

      一、單項選擇題(答案在最后)

      二、填空題(答案在最后)

      程序功能:輸入一個正整數(shù),將其各位上為偶數(shù)的數(shù)字去除,剩余的數(shù)按原來從高位到低位的順序組成一個新的數(shù),并將其輸出到文件out1.txt中。例如,輸入:134456779,輸出到文件:135779。代碼:

      #include int main(void){ long n;int k,i=1;int _____(1)_____;FILE *fp;fp=fopen(“out1.txt”,“w”);scanf(“%ld”,&n);while(_____(2)_____){ k = _____(3)_____;n = n/10;if(k%2 == 1){ z = z+k*i;i = 10*i;} } fprintf(fp,“%dn”,z);_____(4)_____;/* 關(guān)閉文件 */ return 0;}

      程序功能:從鍵盤輸入一個字符串和一個字符,統(tǒng)計字符串中該字符出現(xiàn)的次數(shù),并輸出結(jié)果。例如,輸入字符串:aBEddfghDdd,輸入字符:d,輸出結(jié)果:4。代碼:

      #include int num(char str[]){ char ch;int i=0,count=0;printf(“輸入字符:”);scanf(“%c”,&ch);while(_____(1)_____){ if(_____(2)_____)count++;i++;} return count;} int main(void){ char str[80];int n;printf(“輸入字符串:”);gets(_____(3)_____);n = _____(4)_____;printf(“輸出結(jié)果: %dn”,n);return 0;}

      三、操作題

      (一)程序調(diào)試題(3小題,第1、2小題各3處錯,第3小題4處錯,每錯誤點3分,共30分)1.程序調(diào)試題1

      調(diào)試要求:下列程序(C:KSB_2_1.c)包含3個錯誤,請按題中的功能要求,調(diào)試并修改該程序(在所修改語句后加/*******/字樣的注釋),使其運行能得到正確的結(jié)果。將程序結(jié)果(包括B_2_1.c文件和B_2_1.EXE文件)保存到目錄C:KS中。

      功能說明:輸入某人某一個月的月收入(在2500元到8000元之間),計算并輸出該月份他應(yīng)繳的個人所得稅。個人所得稅采用分段計算方法計算,具體為:月收入不超過3500元(含3500元,以下同)免稅;月收入超過3500元但不超過5000元的,超過部分的稅率為3%;月收入超過5000元但不超過8000元的,超過5000元部分的稅率為10%。運行示例:

      輸入:請輸入月收入: 7000 輸出:個人所得稅為: 245.00 說明:月收入7000元中3500元免稅,1500元的稅利為3%,2000元的稅利為10%。含錯誤源程序:

      #include int main(void){ float salary,tax;printf(“請輸入月收入: ”);scanf(“%d”, &salary);if(salary<=3500)tax=0 else if(salary<=5000)tax=(salary-3500)*0.03;else tax=1500*0.03+(salary-3500)*0.1;printf(“個人所得稅為: %.2fn”, tax);return 0;}

      參考答案: #include int main(void){

      float salary,tax;

      printf(“請輸入月收入: ”);

      scanf(“%f”, &salary);

      /*******/

      if(salary<=3500)tax=0;

      /*******/

      else if(salary<=5000)tax=(salary-3500)*0.03;

      else tax=1500*0.03+(salary-5000)*0.1;

      /*******/

      printf(“個人所得稅為: %.2fn”, tax);}

      2.程序調(diào)試題2

      調(diào)試要求:下列程序(C:KSB_2_2.c)包含3個錯誤,請按題中的功能要求,調(diào)試并修改該程序(在所修改語句后加/*******/字樣的注釋),使其運行能得到正確的結(jié)果。將程序結(jié)果(包括B_2_2.c文件和B_2_2.EXE文件)保存到目錄C:KS中。

      功能說明:自定義一個表示分?jǐn)?shù)的結(jié)構(gòu)體類型,在主函數(shù)中輸入兩個分?jǐn)?shù),通過調(diào)用函數(shù)計算兩個分?jǐn)?shù)的和,最后在主函數(shù)中輸出計算的結(jié)果(不化簡)。運行示例: return 0;

      含錯誤源程序: #include struct Frac { int Mol;int Den;};struct add(struct Frac a,struct Frac b){ struct Frac c;c.Mol=a.Mol*b.Den+a.Den*b.Mol;c.Den=a.Den+b.Den;return c;} int main(void){ struct Frac n,m,t;printf(“請輸入第一個分?jǐn)?shù):”);scanf(“%d/%d”,&n.Mol,&n.Den);printf(“請輸入第二個分?jǐn)?shù):”);scanf(“%d/%d”,&m.Mol,&m.Den);t= struct add(n,m);printf(“%d/%d+%d/%d=%d/%dn”,n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den);return 0;}

      參考答案:

      #include struct Frac { int Mol;int Den;};struct Frac add(struct Frac a,struct Frac b)/*******/ { struct Frac c;c.Mol=a.Mol*b.Den+a.Den*b.Mol;c.Den=a.Den*b.Den;/*******/ return c;} int main(void){ struct Frac n,m,t;printf(“請輸入第一個分?jǐn)?shù):”);scanf(“%d/%d”,&n.Mol,&n.Den);printf(“請輸入第二個分?jǐn)?shù):”);scanf(“%d/%d”,&m.Mol,&m.Den);t= add(n,m);/*******/ printf(“%d/%d+%d/%d=%d/%dn”,n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den);return 0;}

      3.程序調(diào)試題3

      調(diào)試要求:下列程序(C:KSB_2_3.c)包含4個錯誤,請按題中的功能要求,調(diào)試并修改該程序(在所修改語句后加/*******/字樣的注釋),使其運行能得到正確的結(jié)果。將程序結(jié)果(包括B_2_3.c文件和B_2_3.EXE文件)保存到目錄C:KS中。

      功能說明:輸入兩個由整型數(shù)構(gòu)成的集合(元素個數(shù)均為5)分別放到數(shù)組A和B中,求這兩個集合的交集(交集的元素由兩個集合中的相同元素構(gòu)成),最后輸出交集中的元素。運行示例:

      含錯誤源程序:

      #include void inter(int s1[],int s2[],int s3[]);int main(void){ int a[5],b[5],c[5];int i,n;printf(“請輸入第一個集合內(nèi)容,5個整型數(shù)n”);for(i=0;i<5;i++)scanf(“%d”,&a[i]);printf(“請輸入第二個集合內(nèi)容,5個整型數(shù)n”);for(i=0;i<5;i++)scanf(“%d”,&b[i]);n=inter(a,b,c);printf(“A,B交集元素為:n”);for(i=0;i<5;i++)printf(“%4d”, c[i]);printf(“n”);return 0;} int inter(int s1[],int s2[],int s3[]){ int j,i=k=0;for(i=0;i<5;i++){ for(j=0;j<5;j++)if(s1[i]==s2[j])break;if(j<5)s3[k]=s1[i];} return k;}

      參考答案:

      #include int inter(int s1[],int s2[],int s3[]);

      /*******/ int main(void){

      int a[5],b[5],c[5];

      int i,n;

      printf(“請輸入第一個集合內(nèi)容,5個整型數(shù)n”);

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

      scanf(“%d”,&a[i]);

      printf(“請輸入第二個集合內(nèi)容,5個整型數(shù)n”);

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

      scanf(“%d”,&b[i]);

      n=inter(a,b,c);

      printf(“A,B交集元素為:n”);

      for(i=0;i

      /*******/

      printf(“%4d”, c[i]);

      printf(“n”);

      return 0;} int inter(int s1[],int s2[],int s3[]){ int j,i,k=0;

      /*******/

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

      {

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

      if(s1[i]==s2[j])break;

      if(j<5)s3[k++]=s1[i];

      /*******/

      }

      return k;}

      (二)編程題(2小題,共35分,其中第1小題15分,第2小題20分)1.編程題1 編程要求:請按題中的功能要求,編寫程序并能得到正確的結(jié)果。將程序結(jié)果(包括B_4_1.c文件和B_4_1.EXE文件)保存到目錄C:KS中。程序功能:按示例格式完成以下要求。

      (1)輸入10個整數(shù)(存入數(shù)組a),再輸入整數(shù)x。(2)輸出數(shù)組a中大于等于x的所有元素。運行示例:

      輸入:22 55 66 99 44 33 77 11 0 88 60 輸出:66 99 77 88

      參考答案:

      #include #define N 10 int main(void){ int a[N],i,x;for(i=0;i=x)printf(“%d ”,a[i]);printf(“n”);}

      2.編程題2 編程要求:請按題中的功能要求,編寫程序并能得到正確的結(jié)果。將程序結(jié)果(包括B_4_2.c文件和B_4_2.EXE文件)保存到目錄C:KS中。

      程序功能:按示例格式完成以下要求(驗證數(shù)學(xué)上考拉茲猜想:任意一個大于1正整數(shù),連續(xù)進行特定運算,經(jīng)有限步驟后,計算結(jié)果得到1)。

      (1)輸入整數(shù)n,如果n小于2,輸出“Error”并結(jié)束運行。

      (2)如果整數(shù)n為偶數(shù),計算n/2,否則計算3*n+1,生成新的整數(shù)(仍存為n)。(3)如果生成的整數(shù)結(jié)果等于1,則結(jié)束運行,否則重復(fù)步驟(2)與(3)。運行示例1: 輸入:12

      輸出:[12] {1}6 {2}3 {3}10 {4}5 {5}16 {6}8 {7}4 {8}2 {9}1

      說明:輸入12,第1次計算生成6,第2次計算生成3,……,第9次計算生成1。示例中{1}、{2}至{9}為生成的次數(shù)標(biāo)記,[]、{}與間隔空格都必須保留。運行示例2: 輸入:0 輸出:Error

      說明:輸入為0、1或負數(shù),輸出“Error”。參考答案: #include int main(void){

      long n;

      int i,j;

      scanf(“%ld”,&n);

      if(n<=0)

      {

      printf(“Errorn”);

      return-1;

      }

      printf(“[%ld] ”,n);

      for(i=1;1;i++)

      {

      if(n%2==0)

      n = n/2;

      else

      n = 3*n + 1;

      printf(“{%d}%ld ”,i,n);

      if(n==1)

      break;

      }

      printf(“n”);

      return 0;}

      二級 C 程序設(shè)計 B 場 參考答案

      一、單選題

      1.D 2.D 3.B

      4.B

      5.B

      6.C

      7.D

      8.A

      9.D

      二、程序填空題參考答案

      1.1):【z=0】

      2):【n!=0】【n】【n>0】【n>=1】 3):【n%10】【k=n%10】【n-n/10*10】 4):【fclose(fp)】

      2.1):【str[i]!='