請用程序?qū)崿F(xiàn): 輸入一個字符串, 輸出這個字符串的短句.
縮寫詞是由一個短語中每個單詞的第一個字母組成,均為大寫。例如,CPU
是短語central processing unit
的縮寫。
示例
輸入
central?processing?unit
輸出
CPU --------------分割線------------------
#include <stdio.h>
#include <string.h>
int main () {
??? // TODO 請在此處編寫代碼,完成題目要求
int i,j;
char a[70];
char b[70];
gets(a);
??? if(a[0]>=97&&a[0]<=122)
??? a[0]-=32;
?b[0]=a[0];
??? for(i=1;a[i]!='\0';i++)
??? {?
??????? if(a[i-1]==' ')
??????? {? a[i]=a[i]-32; }
??? }
for(j=1;a[i-1]==' ';j++)
{b[j]=a[i];}
? puts(b);
??? return 0;
}
應該怎么改?
2020-04-21
b數(shù)組應該判斷a數(shù)組中字母是否在‘A'與'Z'區(qū)間中再取值,用兩個索引i和j,外層是用i索引數(shù)組a中的內(nèi)容,一旦i找到這個字符是大寫字母a[i],再傳遞給索引b[j],然后j++,i繼續(xù)查找。你的寫法中A的索引i是不變動的,所以找不到其他大寫字母。
for(i=1;a[i]!='\0';i++)
? ? {?
? ? ? ? if(a[i-1]==' ')
? ? ? ? {? a[i]=a[i]-32; }
? ? }
? ? j=1;
for(i=1;a[i]!='\0';i++)
{
if(a[i]>='A'&&a[i]<='Z')
b[j++]=a[i];
}
? puts(b);
? ? return 0;
}
2020-06-22
一次循環(huán)可以實現(xiàn),沒必要用兩個循環(huán)
2020-04-22