第1个回答 推荐于2018-04-12
高手版:
#include <stdio.h>
#include <string.h>
void main(void)
{
char s[80];
gets(s);
strupr(s);
int len=strlen(s);
printf("%d\n%s\n",len,s);
}
新手版:
#include <stdio.h>
void main(void)
{
char s[80];
for(int i=0;(s[i]=getchar())!='\n';i++)
{
if(s[i]>='a'&&s[i]<='z')
s[i]=s[i]-32;
}
s[i]='\0';
printf("%d\n%s\n",i,s);
}本回答被网友采纳
第2个回答 2012-05-16
/*
输入字符串 : asdZXC123<>[]
字符串的长度为 : 13
转换后为 : ASDZXC123<>[]
请按任意键继续. . .
*/
#include <stdio.h>
int strlen(char *s) { // 计算字符串s的长度
int len = 0;
while(s[len])len++;
return len;
}
char *atou(char *s) { // 将小写字母转换为大写,其他不变
int i;
for(i = 0; s[i]; ++i) {
if((s[i] >= 'a') && (s[i] <= 'z'))
s[i] = s[i] - 'a' + 'A';
}
return s;
}
int main() {
char s[81];
printf("输入字符串 : ");
gets(s);
printf("字符串的长度为 : %d\n",strlen(s));
printf("转换后为 : %s\n",atou(s));
return 0;
}