问题描述
从键盘输入一个字符串,将其中的小写字母全部转换成大写字母。输入的字符串以“!”结束。
输入
输入只有一行,该行的字符数目不超过100。
输出
把小写字母转换为大写后输出。
输入样列
hello world!
输出样例
HELLO WORLD!
#include<stdio.h>
int main()
{
char str[110];
int i,len=0;
while((str[len]=getchar())!='!')
{
len++;
}
for(i=0;i<len;i++)
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;
puts(str);
return 0;
}
得用gets()获取字符串,用getchar的话,字符串长度会不对
#include<stdio.h>
int main()
{
char str[110];
int i,len=0;
gets(str);
while(str[len]!='!')
{
len++;
}
//printf("len:%d\n",len) ;
for(i=0;i<len;i++)
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;
puts(str);
return 0;
}
试试这个
#include <stdio.h>
int main()
{
char str[110];
int i, len = 0;
while ((str[len] = getchar()) != '!')
{
len++;
}
str[len + 1] = '\0';
for (i = 0; i < len; i++)
if (str[i] >= 'a' && str[i] <= 'z')
str[i] -= 32;
puts(str);
return 0;
}