第一題:填空題 數(shù)組xx[N]保存著一組3位數(shù)的無符號正整數(shù),其元素的個數(shù)通過變量num傳入funn函數(shù)。請補(bǔ)充fun函數(shù),該函數(shù)的功能是:從數(shù)組xx中找出個位和百位的數(shù)字相等的所有無符號整數(shù),結(jié)果保存在數(shù)組yy中,其個數(shù)由fun函數(shù)返回。
例如:當(dāng)xx[8]={123,231,232,222,424,333,141,544}時,bb[5]={232,222,424,333,141}。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在fun函數(shù)的橫線上填入所編寫的若干表達(dá)式或語句。
#include
#include
#define N 1000
int fun(int xx[], int bb[], int num)
{
int i, n = 0;
int g, b;
for (i=0; i { g = ___1___; b = xx[i]/100; if (g == b) ___2___; } return ___3___; } main() { int xx[8] = {123, 231, 232, 222, 424, 333, 141, 544}; int yy[N]; int num = 0, n = 0, i = 0; num = 8; printf("******original data *******\n "); for (i=0; i printf("%u ", xx[i]); printf("\n\n\n"); n = fun(xx, yy, num); printf("\nyy= "); for (i=0; i printf("%u ", yy[i]); } 第一題答案 1:(xx[1]%10) 答案2:(bb[n++]=xx[1]) 答案3:(n) 第二題:改錯題 下列給定程序中,函數(shù)fun的功能是:求出數(shù)組中最大數(shù)和次最大數(shù),并把最大數(shù)和a[0]中的數(shù)對調(diào)、次最大數(shù)和a[1]中的數(shù)對調(diào)。 請改正程序中的錯誤,使它能得出正確的結(jié)果。 注意:不要改動main函數(shù),不得增行或減行,也不得更改程序的結(jié)構(gòu)! #include #include #define N 20 /********found********/ void fun(int *a, int n); { int i, m, t, k; for (i=0; i<2; i++) { /********found********/ m=0; for (k=i+1; k if (a[k] > a[m]) m = k; t = a[i]; a[i] = a[m]; a[m] = t; } } main() { int b[N] = {11, 5, 12, 0, 3, 6, 9, 7, 10, 8}, n = 10, i; for (i=0; i printf("%d ", b[i]); printf("\n"); fun(b, n); for (i=0; i printf("%d ", b[i]); printf("\n"); } 第二題答案: 第1處:void fun(int *a,int n);應(yīng)改為void fun(int *a,int n) 第2處:m=o;應(yīng)改為 m=i; 第三題:編程題 請編寫一個函數(shù)void fun(char*ss),其功能是:將字符串ss中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。 例如,若輸入abc4EFg,則應(yīng)輸入aBc4EFg.。 請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。 #include #include #include void fun(char *ss) { } void main( void ) { char tt[51]; FILE *out; printf("\nPlease enter an character string within 50 characters:\n" ); gets( tt ); printf("\n\nAfter changing, the string\n %s", tt ); fun(tt) ; printf( "\nbecomes\n %s", tt ); out=fopen ("out.dat", "w"); strcpy(tt, "After changing, the string"); fun(tt); fprintf(out, "%s", tt); fclose (out ); } 第三題答案: void fun(char *ss) { int i,n=0; char *p=ss; while(*p) { n++; p++; } for (i=0;i if((ss[i]>= ‘a(chǎn)’&& ss[i]<= ‘z’)&&i%2!=0) ss[i]=ss[i]-32; ss[i]= ‘\0’; }
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |