日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

全国计算机等级考试题库二级C操作题100套(第38套)

發布時間:2023/12/10 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全国计算机等级考试题库二级C操作题100套(第38套) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第38套:

函數fun的功能是:把形參a所指數組中的奇數按原順序依次存放到a[0]、
a[1]、a[2]、……中,把偶數從數組中刪除,奇數個數通過函數值返回。例如:若a所指數組中的數據最初排列為:9、1、4、2、3、6、5、8、7,刪除偶數后a 所指數組中的數據為:9、1、3、5、7,返回值為5。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:

#include <stdio.h> #define N 9 int fun(int a[], int n) { int i,j; j = 0; for (i=0; i<n; i++) if (a[i]%2==___1___) { a[j] = a[i]; ___2___; } return ___3___; } main() { int b[N]={9,1,4,2,3,6,5,8,7}, i, n; printf("\nThe original data :\n"); for (i=0; i<N; i++) printf("%4d ", b[i]); printf("\n"); n = fun(b, N); printf("\nThe number of odd : %d \n", n); printf("\nThe odd number :\n"); for (i=0; i<n; i++) printf("%4d ", b[i]); printf("\n"); }

解題思路:
第一處:判斷a[i]是否是奇數,若是,則仍保留在原數組中a[j],所以應填:1。
第二處:數組a中的元素位置由j來控制,每增加一個元素,則j加1,所以應填:j++。
第三處:返回刪除偶數后a所指數組中數據的元素j,所以應填:j。


給定程序MODI1.C中函數fun的功能是:求出兩個非零正整數的最大公約數,并作為函數值返回。
例如,若給num1和num2分別輸入49和21,則輸出的最大公約數為7;若給num1
和num2分別輸入27和81,則輸出的最大公約數為27。
請改正程序中的錯誤,使它能得出正確結果。
注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構。
給定源程序:

#include <stdio.h> int fun(int a,int b) { int r,t; if(a<b) { t=a; b=a; a=t; } r=a%b; while(r!=0) { a=b; b=r; r=a%b; } return(a); } main() { int num1, num2,a; printf("Input num1 num2: "); scanf("%d%d",&num1,&num2); printf("num1= %d num2= %d\n\n",num1,num2); a=fun(num1,num2); printf("The maximun common divisor is %d\n\n",a); }

解題思路:
第一處:交換值的次序有問題,所以應改為:t=a;a=b;b=t;。
第二處:返回值錯誤,應改為:return(b);。


假定輸入的字符串中只包含字母和號。請編寫函數fun,它的功能是:刪除字符串中所有的號。在編寫函數時,不得使用C語言提供的字符串函數。
例如,字符串中的內容為:ABCDEFG******,刪除后,字符串中的內容應當是:ABCDEFG。
注意: 部分源程序在文件PROG1.C中。
請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入
你編寫的若干語句。
給定源程序:

#include <stdio.h> void fun( char *a ) { } main() { char s[81]; printf("Enter a string:\n");gets(s); fun( s ); printf("The string after deleted:\n");puts(s); NONO(); }

解題思路:
本題是考察字符串的操作。

  • 利用循環掃描字符串中所有的字符是否是’’,如果不是’’,則把這些字符存放字符串a首地址開始的位置上。
  • 最后給字符串a加上結束符。
    參考答案:
  • void fun( char *a ) { int j =0 ; char *p=a; while(*p) { if(*p != '*') a[j++]=*p ; p++ ; } a[j]=0; }

    總結

    以上是生活随笔為你收集整理的全国计算机等级考试题库二级C操作题100套(第38套)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。