第一題:填空題 請補充fun函數(shù),該函數(shù)的功能是把從鍵盤輸入的3 個整數(shù) 按從小到大輸出。
例如:輸入場23 32 14, 結(jié)果輸出14 23 32 。
注意:部分源程序給出如下。
僅在橫線上填入所編寫的若干表達(dá)式或語句,勿改動函數(shù)中的其他任何內(nèi)容。
#include
#include
main()
{
int x, y, z, t;
printf("Input x,y,z\n");
scanf("%d%d%d", &x, &y, &z);
if (___1___)
{
t = x;
x = y;
y = t;
} /* 交換x,y的值 */
if (___2___)
{
t = z;
z = x;
x = t;
} /* 交換x,z的值 */
if (___3___)
{
t = y;
y = z;
z = t;
} /* 交換z,y的值 */
printf("******the result*******\n");
printf("from small to big: %d %d %d\n", x, y, z);
}
參考答案:
填空題:第1處填空:x>y或y
第2處填空:x>z或z
第3處填空:y>z或z
第二題:改錯題 下列給定程序中,函數(shù)fun的功能是:將m(1<=m<=10)個字符串連接起來,組成一個新串,放在pt所指字符串中。例如:把3個串a(chǎn)bc,CD,EF串連起來,結(jié)果是abcCDEF。
請改正程序中的錯誤,使它能計算出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序結(jié)構(gòu)!
#include
#include
#include
/********found********/
void fun(char str[][], int m, char *pt)
{
int k, q, i;
for (k=0; k { q = strlen(str[k]); /********found********/ for (i=0; i pt[i] = str[k,i]; pt += q; pt[0] = 0; } } main() { int m, h; char s[10][10], p[120]; printf("\nPlease enter m:"); scanf("%d", &m); gets(s[0]); printf("\nPlease enter %d string:\n", m); for (h=0; h gets(s[h]); fun(s, m, p); printf("\nThe result is : %s\n", p); } 參考答案: 改錯題:第1處:void fun(char str[][],int m,char *pt)應(yīng)改為 void fun ( char str[][10], int m,char *pt) 第2處:pt[i]=str[k,i];應(yīng)改為 pt[i]=str[k][i];
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |