有趣的C

本文详细介绍了在C语言编程中如何通过简单的代码修改来实现输入英文句子后,每个单词首字母自动转为大写的功能。通过对比两种不同的输出格式,文章深入探讨了如何避免输出格式中的空格问题,提供了实用的编程解决方案。

在C语言编程时候出现的小问题。原来的要求是:

Problem Description
输入一个英文句子,将每个单词的第一个字母改成大写字母。
Input
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。
Output
请输出按照要求改写后的英文句子。
Sample Input
i like acmi want to get an accepted
Sample Output
I Like AcmI Want To Get An Accepted
#include<stdio.h>
#include<string.h>
int main()
{
    int i;
    char a[100];
    while(scanf("%s",a)!=EOF)
    {
        if(a[0]>='a'&&a[0]<='z')
          a[0]-=32;
        for(i=1;i<strlen(a);i++)
          {
            if(a[i]==' ')
            {
              if(a[i+1]>='a'&&a[i+1]<='z')
                a[i+1]-=32;
            }
          }
          printf("%s",a);
    }
}
这样子输出的格式将吞掉空格;
如果改为:
#include<stdio.h>
#include<string.h>
int main()
{
    int i;
    char a[100];
    while(scanf("%s",a)!=EOF)
    {
        if(a[0]>='a'&&a[0]<='z')
          a[0]-=32;
        for(i=1;i<strlen(a);i++)
          {
            if(a[i]==' ')
            {
              if(a[i+1]>='a'&&a[i+1]<='z')
                a[i+1]-=32;
            }
          }
         puts(a);
    }
}
则每输出一个单词换一行;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值