二級(jí)c語言筆試真題
下面由我們YJBYS求職網(wǎng)專家為您分享關(guān)于二級(jí)c語言筆試真題,請(qǐng)您參考:
函數(shù)fun 的功能是:計(jì)算正整數(shù)n 的所有因子(1 和n 除外)之和作為
函數(shù)值返回。 例如:n=120 時(shí),函數(shù)值為239。
#include < conio.h >
#include < stdio.h >
int fun(int n)
{ int _1__,s=0;
/*能整除n 的自然數(shù)即稱為因子*/
for (i=2;i< n;i++)
if (n%i==0) s=___2__;
return (s);
}
main() /*主函數(shù)*/
{ printf("%d\n",fun(120));
}
(2011年2月)
解析: 本題的考核點(diǎn)是計(jì)算n 所有因子的算法。
解題思路:判斷因子的方法是:能被n整除的數(shù)。由于題意中指明需將1和n
除外,所以循環(huán)的范圍應(yīng)從2至n-1。
答案:1: i 2: s+i
答案:【1】i 【2】s+i
【真題2】 已知一個(gè)數(shù)列的前三項(xiàng)分別為0,0,1, 以后的各項(xiàng)都是其相鄰的前三
項(xiàng)之和。給定程序modi.c 中函數(shù) fun 的'功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的平方
根之和sum。n 的值通過形參傳入。 例如,當(dāng)n=10 時(shí),程序的輸出結(jié)果應(yīng)為:
23.197745。 請(qǐng)改正函數(shù)fun 中的錯(cuò)誤,使程序能輸出正確的結(jié)果。 注意:不要
改動(dòng)main 函數(shù),
#include < conio.h >
#include < stdio.h >
#include < math.h >
/************found************/
fun(int n)
{ double sum, s0, s1, s2, s; int k;
sum = 1.0;
if (n < = 2) sum = 0.0;
s0 = 0.0; s1 = 0.0; s2 = 1.0;
for (k = 4; k < = n; k++)
{ s = s0 + s1 + s2;
sum += sqrt(s);
s0 = s1; s1 = s2; s2 = s;
}
/************found************/
return sum
}
main ( )
{ int n;
clrscr( );
printf("Input N=");
scanf("%d", &n);
printf("%f\n", fun(n) );
}
(2011年2月)
解析: 本題的考核點(diǎn)是C語言中的函數(shù)的入口參數(shù)和類型轉(zhuǎn)換。
C 語言規(guī)定,凡不加類型說明的函數(shù),一律自動(dòng)按整型處理。如果函數(shù)有返回
值,這個(gè)值當(dāng)然應(yīng)屬于某一個(gè)確定的類型,應(yīng)當(dāng)在定義函數(shù)時(shí)指定函數(shù)值的類
型。根據(jù)題意,函數(shù)返回值為實(shí)型,所以第一處錯(cuò)誤"fun(int n)"應(yīng)改為"float
fun (int n)"或具有相同作用的句子。
函數(shù)的返回值是通過函數(shù)中的return語句獲得的。return 語句后面的括弧可以
不要,但分號(hào)不能少,必須加分號(hào)。所以,第二處錯(cuò)誤應(yīng)改為"return sum;"或
相同作用的句子。
如果函數(shù)值的類型和return語句中表達(dá)式的 值不一致,則以函數(shù)類型為準(zhǔn)。對(duì)
數(shù)值型數(shù)據(jù),可以自動(dòng)進(jìn)行類型轉(zhuǎn)換。即函數(shù)類型決定返回值的類型。
本評(píng)析僅作參考。
【真題3】 請(qǐng)編寫函數(shù)fun(),它的功能是求Fibonacci數(shù)列中小于t的最大的一個(gè)
數(shù),結(jié)果由函數(shù)返回。其中Fibonacci 數(shù)列F(n)的定義為 F(0)=0,F(xiàn)(1)=1,
F(n)=F(n-1)+F(n-2) 例如:t=1000 時(shí) ,函數(shù)值為987。 注意:部分源程序給
出如下。 請(qǐng)勿改動(dòng)主函數(shù)main 和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)
中填入所編寫的若干語句。 試題程序:
#include < conio.h >
#include < math.h >
#include < stdio.h >
int fun(int t)
{…… }
main()
{int n;
clrscr();
n=1000;
printf("n=%d, f=%d\n",n, fun(n)); }
(2011年2月)
解析:
int fun(int t)
{int a=1,b=1,c=0,i; /*a 代表第n-2 項(xiàng),b 代表第n-1 項(xiàng),c 代表
第n 項(xiàng)*/
/*如果求得的數(shù)c 比指定比較的數(shù)小,則
計(jì)算下一個(gè)Fibonacci 數(shù),對(duì)a,b 重新置數(shù)*/
do {
c=a+b;
a=b;
b=c;
}
while (c< t); /*如果求得的數(shù)c 比指定比較的數(shù)大時(shí),退出
循環(huán)*/
c=a; /*此時(shí)數(shù)c 的前一個(gè)Fibonacci 數(shù)為小于指
定比較的數(shù)的最大的數(shù)*/
return c;}
更多推薦:
【二級(jí)c語言筆試真題】相關(guān)文章:
C語言基礎(chǔ)筆試題11-24
C語言筆試題集錦11-24
外企C語言筆試題11-23
C語言筆試題回憶11-23
C語言筆試題總結(jié)11-23
最新中興Java語言筆試真題及答案09-24
C語言編程題11-23
c語言常見筆試題總結(jié)11-23
C語言常用筆試題11-23
用友JAVA筆試真題07-24