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