一、填空題:
請補充main函數(shù),該函數(shù)的功能是:從鍵盤輸入兩個字符串并人別保存在字符數(shù)組成str1 t 和str2中,用字符串str2 替換字符串聯(lián)str1前面的所有字符,注意:str2的長度不大于str1, 否則需要重新輸入.
例如,如果輸入不敷出str1=”abced”,str2=”gg”, 則輸出ggced.
僅在橫線上填入所編寫的若干表達式語句,勿改動函數(shù)的其它任何內(nèi)容.
#include
#include
main()
{
char str1[81], str2[81];
char *p1 = str1, *p2 = str2;
do
{
printf(" Input str1 \n");
gets(str1);
printf(" Input str2 \n");
gets(str2);
} while (strlen(str1) ___1___ strlen(str2));
while (___2___)
*p1++ = *p2++;
printf(" Display str1 \n");
puts(___3___);
}
參考答案:
第1處填空:<
第2處填空:*p2或p2[0]
第3處填空:str1
二、改錯題:
下列給定程序的功能是:讀入一個英文文本行,將其中每個單詞的第一個字母改成大寫,然后輸出此本行(這里的”單詞”是反指由空格隔開的字符串).例如,若輸入I am a student to take the examination,則應(yīng)輸出Am A Student To Take The Examination.
請改正程序中的錯誤,使程序能得出正確的結(jié)果.
注意;不要動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)
#include
#include
#include
/********found********/
void upfst(char p)
{
int k = 0;
for (; *p; p++)
if (k)
{
if (*p == ' ')
k = 0;
}
else
{
if (*p != ' ')
{
k = 1;
*p = toupper(*p);
}
}
}
main()
{
char chrstr[81];
printf("\nPlease enter an English text line: ");
gets(chrstr);
printf("\n\nBefore changing:\n %s", chrstr);
upfst(chrstr);
printf("\nAfter changing:\n %s\n", chrstr);
}
參考答案:
第1處void upfst(char p)改為void upfst(char *p)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |