請補(bǔ)充main函數(shù),該函數(shù)的功能是:把一個字符串中的所有小寫字母字符全部轉(zhuǎn)換成大寫字母字符,其他
請補(bǔ)充main函數(shù),該函數(shù)的功能是:把一個字符串中的所有小寫字母字符全部轉(zhuǎn)換成大寫字母字符,其他字符不變,結(jié)果保存原來的字符串中。
例如:當(dāng)str[N]“123 abcdef ABCDEF!”,結(jié)果輸出:
“123ABCDEFABCDEF!”。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫的若干表達(dá)式或語句。
試題程序:
include<stdio.h>
include<stdlib.h>
include<conio.h>
define N 80
void main()
{
int j;
char str[N]="123abcdef ABCDEF!";
char* pf=str;
clrscr();
printf("*** original string ***\n");
puts(str);
【 】;
while(*(pf+j)).
{
if(*(pf+j)>='a'&&* (pf+j)<='z')
{
*(pf+j)=【 】;
j++;
}
else
【 】;
}
printf("****** new string ******\n");
puts(str);
system("pause");
}
正確答案:j=0*(pf+j)-32j++j=0*(pf+j)-32j++ 解析:第一空:變量j聲明時沒有初始化,而后面程序用到j(luò),所以在這里對j初始化為0。第二空:將小寫字母轉(zhuǎn)換為對應(yīng)的大寫字母的方法是,小寫字母的ASCII碼減去32,得到對應(yīng)的大寫字母的ASCII碼。第三空:如果當(dāng)前字符不是小寫字母,則不做任何處理,使指針指向下一個字符,準(zhǔn)備進(jìn)行判斷。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。