第一題:填空題 數(shù)組xx[N]保存著一組3位數(shù)的無符號正整數(shù),其元素的個數(shù)通過變量num傳入funn函數(shù)。請補充fun函數(shù),該函數(shù)的功能是:從數(shù)組xx中找出個位和百位的數(shù)字相等的所有無符號整數(shù),結果保存在數(shù)組yy中,其個數(shù)由fun函數(shù)返回。
例如:當xx[8]={123,231,232,222,424,333,141,544}時,bb[5]={232,222,424,333,141}。
請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在fun函數(shù)的橫線上填入所編寫的若干表達式或語句。
#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ù)對調、次最大數(shù)和a[1]中的數(shù)對調。
請改正程序中的錯誤,使它能得出正確的結果。
注意:不要改動main函數(shù),不得增行或減行,也不得更改程序的結構!
#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);應改為void fun(int *a,int n)
第2處:m=o;應改為 m=i;
第三題:編程題 請編寫一個函數(shù)void fun(char*ss),其功能是:將字符串ss中所有下標為奇數(shù)位置上的字母轉換為大寫(若該位置上不是字母,則不轉換)。
例如,若輸入abc4EFg,則應輸入aBc4EFg.。
請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在函數(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’;
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |