【问题描述】首字母变大写:输入一个英文句子,将每个单词的第一个字母改成大写字母。
【输入形式】一个长度不超过100的英文句子
【输出形式】按照要求改写后的英文句子,每个单词的首字母大写
【样例输入】i like programming.
【样例输出】I Like Programming.
【样例说明】每行英文语句有若干英文单词,单词与单词之间可以有1到若干空格
#include<stdio.h>
int main(){
char a[100];
int i;
gets(a);
a[0]=a[0]-32;
for(i=1;a[i]!='\0';i++){
if(a[i-1]==' '){
a[i]=a[i]-32;
}
}
for(i=0;a[i]!='\0';i++){
printf("%c",a[i]);
}
printf("\n");
return 0;
}
运行结果:
#include <iostream>
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
using namespace std;
void outFirstStr(char *str)
{
char *subStr;
char *end = str;
*end -= 32;
while (*end != '\0'){
if (*end == ' '){
end++;
*end -= 32;
}
else{
end++;
}
}
}
int main()
{
char str[100] = { 0 };
int i;
while (gets(str))
{
outFirstStr(str);
for (i = 0; i < strlen(str); i++){
if (str[i]<'Z'&&str[i]>'A'){
cout << str[i];
//printf("%c,", str[i]);
}
}
}
system("pause");
}
结果:
补充点
- [Error] ld returned 1 exit status
这个错误原因很多
例如:
黑框是否正在运行或者没关闭
mian函数是否出了问题,是不是把其他函数的定义放在了main函数中
我的是有黑框正在运行 并没有关闭 - !=’\0’:运行到字符串结尾时结束。