第 1 頁(yè):第1頁(yè):填空題及解題思路 |
第 2 頁(yè):第2頁(yè):改錯(cuò)題及解題思路 |
第 3 頁(yè):第3頁(yè):編程題及解題思路 |
編程題
編寫函數(shù)fun, 函數(shù)的功能是求出小于或等于lim的所有素?cái)?shù)并放在aa數(shù)組中, 函數(shù)返回所求出的素?cái)?shù)的個(gè)數(shù)。函數(shù)fun中給出的語(yǔ)句僅供參考。
注意:部分源程序在文件PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。
給定源程序:
#include
#define MAX 100
int fun(int lim, int aa[MAX])
{ http://ks.exam8.com
int i,j,k=0;
/* 其中變量k用于統(tǒng)計(jì)素?cái)?shù)個(gè)數(shù) */
for(i=2;i<=lim;i++)
{
/* 以下完成判斷aa數(shù)組中小于或等于lim的素?cái)?shù)并統(tǒng)計(jì)個(gè)數(shù) */
}
return k;
}
main()
{
int limit, i, sum;
int aa[MAX] ;
printf("輸入一個(gè)整數(shù)");
scanf("%d", &limit);
sum=fun(limit, aa);
for(i=0 ; i < sum ; i++) {
if(i % 10 == 0 && i != 0) printf("\n") ;
printf("%5d", aa[i]) ;
}
NONO();
}
解題思路:
本題是考察考生如何判斷一個(gè)數(shù)是素?cái)?shù),再求出所有小于lim數(shù)的素?cái)?shù)并存入數(shù)組aa中保存,最后由形參aa返回,素?cái)?shù)的個(gè)數(shù)由函數(shù)值返回。
參考答案:
int fun(int lim, int aa[MAX])
{
int i,j,k=0;
/* 其中變量k用于統(tǒng)計(jì)素?cái)?shù)個(gè)數(shù) */
for(i=2;i<=lim;i++)
{
/* 以下完成判斷aa數(shù)組中小于或等于lim的素?cái)?shù)并統(tǒng)計(jì)個(gè)數(shù) */
for(j = 2 ; j <= (i/2) ; j++)
if(i % j == 0) break;
if(j > (i/2)) aa[k++] = i;
}
return k;
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |