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