- 相關推薦
2016年計算機二級C語言模擬考試題
為幫助同學們更好復習C語言,yjbys小編匯集了計算機二級C語言的考試題及答案,希望能幫助到大家!
函數fun的功能是:統計長整數n的各個位上出現數字1、2、3的次數,并通過外部(全局)變量c1,c2,c3返回主函數。例如:當n=123114350時,結果應該為: c1=3 c2=1 c3=2。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:
#include
int c1,c2,c3;
void fun(long n)
{ c1 = c2 = c3 = 0;
while (n) {
switch(___1___)
{
case 1: c1++;___2___;
case 2: c2++;___3___;
case 3: c3++;
}
n /= 10;
}
}
main()
{ long n=123114350L;
fun(n);
printf("\nThe result :\n");
printf("n=%ld c1=%d c2=%d c3=%d\n",n,c1,c2,c3);
}
解題思路:
第一處:取個位數上的數,所以n%10就可以得到個位數。
第二處:switch條件判斷中,滿足條件做好后,必須使用break語句跳出選擇體,所以應填: break。
第三處:同第二處。
***************************************************
給定程序MODI1.C中函數fun的功能是: 統計一個無符號整數中各位數字值為零的個數, 通過形參傳回主函數;并把該整數中各位上最大的數字值作為函數值返回。例如, 若輸入無符號整數30800, 則數字值為零的個數為3, 各位上數字值最大的是8。
請改正函數fun中指定部位的錯誤, 使它能得出正確的結果。
注意: 不要改動main函數, 不得增行或刪行, 也不得更改程序的結構!
給定源程序:
#include
int fun(unsigned n, int *zero)
{ int count=0,max=0,t;
do
{ t=n%10;
if(t=0)
count++;
if(max
n=n/10;
}while(n);
zero=count;
return max;
}
main()
{ unsigned n; int zero,max;
printf("\nInput n(unsigned): "); scanf("%d",&n);
max = fun( n,&zero );
printf("\nThe result: max=%d zero=%d\n",max,zero);
}
解題思路:
第一處:條件相等符號為==。
第二處:由于zero是一個指針型變量,所以給它進行賦值時應帶指針,因此應改為: *zero=count;。
***************************************************
請編寫函數fun, 其功能是: 計算并輸出下列多項式的值:
1 1 1
S = 1 + ── + ─── + … + ─────
1*2 1*2*3 1*2*3*…50
例如, 在主函數中從鍵盤給n輸入50后,輸出為:s=1.718282。
注意: 要求n的值大于1但不大于100。
部分源程序在文件PROG1.C中。
請勿改動主函數main和其他函數中的任何內容, 僅在函數fun的花括號中填入你編寫的若干語句。
給定源程序:
#include
double fun(int n)
{
}
main()
{ int n; double s;
printf("\nInput n: "); scanf("%d",&n);
s=fun(n);
printf("\n\ns=%f\n\n",s);
NONO();
}
解題思路:
本題是根據公式計算多項式的值。注意變量的取值范圍。
參考答案:
double fun(int n)
{
double s=0, t=1;
int i ;
for(i=1; i<=n; i++) {
t *= i;
s += 1./t;
}
return s;
}
【計算機二級C語言模擬考試題】相關文章:
計算機二級《C語言》模擬試題及答案07-31
3月計算機二級c語言模擬試題10-30
計算機等級二級C語言上機模擬試題及答案10-25
2025計算機二級考試C語言模擬題及答案09-20
2024年全國計算機二級c語言考試題庫10-30
計算機二級C語言考點盤點07-28
計算機二級c語言題庫及答案09-25
計算機二級C語言沖刺試題及答案10-29