生活随笔
收集整理的這篇文章主要介紹了
全国计算机等级考试题库二级C操作题100套(第86套)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第86套:
甲乙丙丁四人同時開始放鞭炮,甲每隔t1秒放一次,乙每隔t2秒放一次, 丙 每隔t3秒放一次,丁每隔t4秒放一次,每人各放n次。函數fun的功能是根據形參 提供的值,求出總共聽到多少次鞭炮聲作為函數值返回。注意,當幾個鞭炮同時 炸響,只算一次響聲,第一次響聲是在第0秒。
例如,若t1=7,t2=5,t3=6,t4=4,n=10,則總共可聽到28次鞭炮聲。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:
#include <stdio.h>
#define OK(i, t, n) ((___1___%t==0) && (i/t<n))
int fun(int t1
, int t2
, int t3
, int t4
, int n
)
{ int count
, t
, maxt
=t1
;
if (maxt
< t2
) maxt
= t2
;
if (maxt
< t3
) maxt
= t3
;
if (maxt
< t4
) maxt
= t4
;
count
=1;
for(t
=1; t
< maxt
*(n
-1); ___2___
)
{
if(OK(t
, t1
, n
) || OK(t
, t2
, n
)|| OK(t
, t3
, n
) || OK(t
, t4
, n
) )
count
++;
}
return ___3___
;
}
main()
{ int t1
=7, t2
=5, t3
=6, t4
=4, n
=10, r
;
r
= fun(t1
, t2
, t3
, t4
, n
);
printf("The sound : %d\n", r
);
}
解題思路:
第一處:根據定義的要求,所以應填:i。
第二處:for循環語句的增量,所以應填:t++。
第三處:返回統計次數,所以應填:count。
給定程序MODI1.C中函數fun的功能是: 根據輸入的三個邊長(整型值), 判斷能否構成三角形; 構成的是等邊三角形, 還是等腰三角形。若能構成等邊三角形函數返回3,若能構成等腰三角形函數返回2, 若能構成一般三角形函數返回1, 若不能構成三角形函數返回0。
請改正函數fun中指定部位的錯誤, 使它能得出正確的結果。
注意: 不要改動main函數, 不得增行或刪行, 也不得更改程序的結構!
給定源程序:
#include <stdio.h>
#include <math.h>
void fun(int a
,int b
,int c
)
{ if(a
+b
>c
&& b
+c
>a
&& a
+c
>b
) {
if(a
==b
&& b
==c
)
return 3;
else if(a
==b
||b
==c
||a
==c
)
return 2;
else retrun
1
}
else return 0;
}
main()
{ int a
,b
,c
,shape
;
printf("\nInput a,b,c: "); scanf("%d%d%d",&a
,&b
,&c
);
printf("\na=%d, b=%d, c=%d\n",a
,b
,c
);
shape
=fun(a
,b
,c
);
printf("\n\nThe shape : %d\n",shape
);
}
解題思路:
第一處:函數有返回值,不能定義為void,所以應改為:int fun(int a,int b,int c)。
第二處:語句后缺少分號。
請編寫函數fun, 其功能是: 計算并輸出3到n之間(含3和n)所有素數的平方根之和。
例如, 在主函數中從鍵盤給n輸入100后,輸出為: sum=148.874270。
注意: 要求n的值大于2但不大于100。
部分源程序在文件PROG1.C中。
請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
給定源程序:
#include <math.h>
#include <stdio.h>
double fun(int n
)
{
}
main()
{ int n
; double sum
;
printf("\n\nInput n: "); scanf("%d",&n
);
sum
=fun(n
);
printf("\n\nsum=%f\n\n",sum
);
NONO();
}
解題思路:
本題是計算并輸出3到n之間(含3和n)所有素數的平方根之和。
參考答案:
double fun(int n
)
{
int i
,j
=0;
double s
=0;
for (i
=3; i
<=n
; i
++) {
for (j
=2; j
<i
; j
++)
if (i
%j
== 0) break;
if (j
== i
) s
=s
+sqrt(i
);
}
return s
;
}
總結
以上是生活随笔為你收集整理的全国计算机等级考试题库二级C操作题100套(第86套)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。