(C语言编程)输入一个英文句子,将每个英文单词的头字母变为大写 10

 我来答
巨之说
推荐于2018-04-30 · 大学计算机老师,专注于程序设计教学。
巨之说
采纳数:88 获赞数:335

向TA提问 私信TA
展开全部
#include <stdio.h>
#include <ctype.h>
main()
{ char s[80],*p;
printf("输入一个字符串:");
gets(s);
p=s;
while(*p)
{
while(!isalpha(*p))
p++;
if(*p>='a'&&*p<='z')
*p=*p-32;
while(isalpha(*p))
p++;
}
printf("修改后的字符串:");
puts(s);
}

运行结果如下:
输入一个字符串:how are You,fine thanks!
修改后的字符串:How Are You,Fine Thanks!
Press any key to continue
shine1991
科技发烧友

2012-04-03 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部
#include <stdio.h>
#include <ctype.h>
#define MAX 100
int main()
{
char str[MAX],flag=0,*p=str;
gets(str);
while(*p)
{
if(isalpha(*p)&&flag==0)
{
*p=toupper(*p);
flag=1;
}
else
{
if(isspace(*p)&&flag==1)
{
flag=0;
}
}
++p;
}
puts(str);
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hjyker
2012-04-07
知道答主
回答量:19
采纳率:0%
帮助的人:10万
展开全部
#include <stdio.h>
int main(void)
{
char St[100]; // 定义输入字符串
int i = 0; // 计数变量i
printf("请输入一个英文句子(以回车结束):");

while ((St[i] = getchar()) != '\n') // 输入字符串,并以回车结束
{
i++;
}

/*以下判断字符串首字母是否为大写,是就原样输出,否就转换后输出*/

if ((St[0] >= 'A') && (St[0] <= 'Z'))
{
i = 0;
while (putchar(St[i]) != '\n') // 原样输出
{
i++;
}

}
else
{
St[0] = St[0] - 'a' + 'A'; // 小写转换大写算法,任何的字符运算都以其ASCII值运算
i = 0;
while (putchar(St[i]) != '\n') // 输出转换后的字符串
{
i++;
}
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式