本系列資料由"韜略宏智" 授權(quán)發(fā)布,任何網(wǎng)站不得轉(zhuǎn)載,否則追究法律責(zé)任。
1.填空題
下列給定的程序中,fun()函數(shù)的功能是:將p所指字符串中每個單詞的最后一個字母改成大寫(這里的“單詞”是指有空格隔開的字符串)。例如,若輸入:
I am a student to take the examination
則應(yīng)輸出:I aM A studenT tO takE thE examinatioN
試題程序:
#include
#include
#include
#include
void fun(char *p)
{
int k=0;
for(;*p;p++)
if(k)
{
if(*p==' ')
{
【1】;
【2】=toupper(*(p-1));
}
}
else
k=1;
}
main()
{ char chrstr[64];
int d;
printf("\nplease enter an English sentence within 63 letters:");
gets(chrstr);
d=strlen
本系列資料由"韜略宏智" 授權(quán)發(fā)布,任何網(wǎng)站不得轉(zhuǎn)載,否則追究法律責(zé)任。
1.填空題
下列給定的程序中,fun()函數(shù)的功能是:將p所指字符串中每個單詞的最后一個字母改成大寫(這里的“單詞”是指有空格隔開的字符串)。例如,若輸入:
I am a student to take the examination
則應(yīng)輸出:I aM A studenT tO takE thE examinatioN
試題程序:
#include<conio.h>
#include<ctype.h>
#include<stdio.h>
#include<string.h>
void fun(char *p)
{
int k=0;
for(;*p;p++)
if(k)
{
if(*p==' ')
{
【1】;
【2】=toupper(*(p-1));
}
}
else
k=1;
}
main()
{ char chrstr[64];
int d;
printf("\nplease enter an English sentence within 63 letters:");
gets(chrstr);
d=strlen(chrstr);
chrstr[d]=' ';
chrstr[d+1]=0;
printf("\nBefore changing:\n%s",chrstr);
【3】;
printf("\nAfter changing:\n%s",chrstr);
}
【答案】
【1】k=0 【2】*(p-1) 【3】fun(chrstr)
【解析】
填空1:以變量k作為判斷標(biāo)志,如果標(biāo)志為1并且當(dāng)前指針指向空格就應(yīng)該把標(biāo)志返回0,以便下一次檢測。
填空2:此處進(jìn)行的是將p所指單詞的最后一個字母改成大寫,但是此時p已經(jīng)循環(huán)到了單詞后面的那個空格,所以應(yīng)該對p-1進(jìn)行操作。
填空3:根據(jù)前面的子函數(shù)定義可以知道,參數(shù)是一個指向字符串的指針,所以應(yīng)該把數(shù)組的名字(也可以認(rèn)為是指向數(shù)組首地址的指針)作為參數(shù)。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |