全国计算机等级考试题库二级C操作题100套(第90套)
第90套:
函數fun的功能是:統計所有小于等于n(n>2)的素數的個數,素數的個數作為函數值返回。
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結構!
給定源程序:
#include <stdio.h>
int fun(int n)
{ int i,j, count=0;
printf("\nThe prime number between 3 to %d\n", n);
for (i=3; i<=n; i++) {
for (1; j<i; j++)
if (2%j == 0)
break;
if (3>=i)
{ count++; printf( count%15? “%5d”:"\n%5d",i); }
}
return count;
}
main()
{ int n=20, r;
r = fun(n);
printf("\nThe number of prime is : %d\n", r);
}
解題思路:
第一處:素數的條件是除1和其本身外不能整除該數,所以應填:2。
第二處:判斷i是否素數,所以應填:i。
第三處:如果內循環for中所有數都不能整除i,那么i是素數且j大于等于i,所以應填:j。
數列中,第一項值為3, 后一項都比前一項的值增5;給定程序MODI1.C中函數fun的功能是: 計算前n(4<n<50)項的累加和;每累加一次把被4除后余2的當前累加值放入數組中, 符合此條件的累加值的個數作為函數值返回主函數。
例如, 當n的值為20時,該數列為3,8,13,18,23,28,……,93,98。符合此條件的累加值應為42,126,366,570,1010。
請改正函數fun中指定部位的錯誤, 使它能得出正確的結果。
注意: 不要改動main函數, 不得增行或刪行, 也不得更改程序的結構!
給定源程序:
#include <stdio.h>
#define N 20
int fun(int n,int *a)
{ int i,j,k,sum;
sum=j0;
for(k=3,i=0;i<n;i++,k+=5)
{ sum=sum+k;
if(sum%4=2)
a[j++]=sum;
}
return j;
}
main()
{ int a[N],d,n,i;
printf("\nEnter n (4<n<=50): “);scanf(”%d",&n);
d=fun(n,a);
printf("\n\nThe result :\n");
for(i=0; i<d; i++)printf("%6d",a[i]);printf("\n\n");
}
解題思路:
第一處:連續賦初值為0,中間使用條件相等符號了,所以應改為:sum=j=0;。
第二處:條件相等符號為。
請編寫函數fun, 其功能是: 計算并輸出下列多項式的值:
例如, 在主函數中從鍵盤給n輸入8后, 輸出為: s=0.662872。
注意: 要求n的值大于1但不大于100。
部分源程序在文件PROG1.C中。
請勿改動主函數main和其他函數中的任何內容, 僅在函數fun的花括號中填入你編寫的若干語句。
給定源程序:
#include <stdio.h>
double fun(int n)
{
}
main()
{ int n; double s;
printf("\nInput n: “); scanf(”%d",&n);
s=fun(n);
printf("\ns=%f\n",s);
NONO();
}
解題思路:
本題是根據公式計算多項式的值。
參考答案:
double fun(int n)
{
int i;
double sum=0.0;
if (n>1 && n<=100) {
for(i=1; i<=n; i++)
sum+=1.0/(2i-1)-1.0/(2i);
}
return sum;
}
總結
以上是生活随笔為你收集整理的全国计算机等级考试题库二级C操作题100套(第90套)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 21天c语言 ppt,21天学通C语言
- 下一篇: C语言入门日记