1.填空題
從鍵盤輸入一組無符號整數(shù)并保存在數(shù)組xx[N]中,以整數(shù)0結束輸入,要求這些數(shù)的最大位數(shù)不超過4位,其元素的個數(shù)通過變量num傳入函數(shù)fun()。請補充函數(shù)fun(),該函數(shù)的功能是:從數(shù)組xx中找出個位和十位的數(shù)字之和大于5的所有無符號整數(shù),結果保存在數(shù)組yy中,其個數(shù)由函數(shù)fun()返回。
例如:當xx[8]={123,11,25,222,42,333,14,5451}時,
bb[4]={25,42,333,5451}。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫的若干表達式或語句。
試題程序:
#include
#define N 1000
int fun(int xx[],int bb[],int num)
{
int i, n=0;
int g, s;
for(i=0;i { g=【1】; s=xx[i]/10%10; if((g+s)>5) 【2】; } return【3】; } main() { int xx[N]; int yy[N]; int num=0,n=0,i=0; printf("Input number :\n"); do { scanf("%u",&xx[num]); } while(xx[num++]!=0); n=fun(xx,yy,num); printf("\nyy="); for(i=0;i printf("%u ",yy[i]); } 答案及評析: 【1】xx[i]%10 【2】bb[n++]=xx[i] 【3】n 【解析】填空1:將一個整數(shù)對10取余,則得到這個整數(shù)的個位數(shù),將一個整數(shù)除以10再對10取余,則得到這個整數(shù)的十位數(shù)。由程序可以看出,變量s保存了整數(shù)的十位數(shù),所以應該將整數(shù)的個位數(shù)保存于變量g中。填空2:當整數(shù)的個位與十位的數(shù)字之和大于5時,則將這個整數(shù)存于數(shù)組bb中,同時,變量n記錄了滿足條件的無符號整數(shù)的個數(shù)。填空3:題目要求滿足條件的無符號整數(shù)的個數(shù)由fun函數(shù)返回,所以函數(shù)返回n。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |