C语言求助:输入一个英文句子,将每个单词的第一个字母改成大写字母。
答案:5 悬赏:0 手机版
解决时间 2021-02-28 15:13
- 提问者网友:蓝莓格格巫
- 2021-02-27 23:00
C语言求助:输入一个英文句子,将每个单词的第一个字母改成大写字母。
最佳答案
- 五星知识达人网友:猎心人
- 2021-02-27 23:31
给一个最粗糙的版本,能实现
#include<stdio.h>
main()
{
char str[50];
int i,len;
printf("input a sentence:\n");
gets(str);
len=strlen(str);
str[0]=str[0]-32;
for(i=0;i<len;i++)
{
if(str[i]==' ')
str[i+1]=str[i+1]-32;
}
printf("%s\n",str);
return 0;
}
#include<stdio.h>
main()
{
char str[50];
int i,len;
printf("input a sentence:\n");
gets(str);
len=strlen(str);
str[0]=str[0]-32;
for(i=0;i<len;i++)
{
if(str[i]==' ')
str[i+1]=str[i+1]-32;
}
printf("%s\n",str);
return 0;
}
全部回答
- 1楼网友:低血压的长颈鹿
- 2021-02-28 03:32
if(k==0&&a[i]<97&&a[i]>122)
这句有逻辑错误。a[i]不可能同时小于97和大雨122.后面那个&&应该是||。
应该是这句引起的。
- 2楼网友:行路难
- 2021-02-28 02:10
#include <stdio.h>
int main()
{
int n1,i;
printf("输入一维数组长度:");
scanf("%d\n",&n1);
char array[n1];
for(i=0;i<n1;i++)
{
scanf("%c",&array[i]);//输入英文句子
}
if(array[0]>='a'&&array[0]<='z')
array[0]=array[0]-32;
for(i=1;i<n1;i++)
{
if(array[i]==' '||array[i]=='\n')
{
if(array[i+1]>='a'&&array[i+1]<='z')
{
array[i+1]=array[i+1]-32;
}
}
}
for(i=0;i<n1;i++)
{
printf("%c",array[i]);
}
return 0;
}
- 3楼网友:怙棘
- 2021-02-28 01:08
#include<stdio.h>
#include<stdio.h>
main()
{
int i,l;
char a[100];
scanf("%s",a);
getchar();
if('a'<=a[0]&&a[0]<='z')
a[0]=a[0]-32;
printf("%s\n",a);
}
希望能帮到你!
- 4楼网友:风格不统一
- 2021-02-28 00:03
#include
#include
void main()
{
char a[50];
int i,k=0;
printf("请输入一个字符串:\n");
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(k==0&&(a[i]<97||a[i]>122))
{
k=1;
continue;
}
if(k==0&&a[i]>96&&a[i]<123)
{
a[i]-=32;
k=1;
}
if(k==1&&a[i]==' ')
k=0;
}
puts(a);
}
看看是不是你想要的结果, 有问题就留言给我, 我去煮饭
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯