c语言程序 写一个函数将一个字符串中的所有小写字母变成大写字母

如题所述

#include <stdio.h>
#include <string.h>
#include <ctype.h>

void myToUpper(char *str)
{
int i = 0;

while (str[i] != '\0')
{
if ( !isupper(str[i])) // 如果是小写则转为大写
{
str[i] = toupper(str[i]);
}
i++;
}

}

void main()
{
char array[20];
gets(array);

myToUpper(array);

printf("%s\n", array);
}

// 提示:直接测试或操纵字符将会降低程序的可移植性。例如,考虑下面这条语句,它试图测试 ch 是否是
// 一个大写字符
// if ( ch >= 'A' && ch <= 'Z')
// 这条语句在使用 ASCII 字符集的机器上能够运行,但在使用 EBCDIC 字符集的机器上将会失败。
// 另一方面,下面这条语句
// if ( isupper( ch ) )
// 无论机器使用哪个字符集,它都能顺利运行
//
// 参考文献:《pointers on c》
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-21
#include<stdio,h>
void main()
{
int i,a[10]; \定义一个长度为10的字符串\
for(i=0;i<10;i++)
{
printf("a[]=");
scanf("%c",&a[i]); \输入字符串中小写字母\
}
for(i=0;i<10;i++)
{
a[i]=a[i]-32;
printf("a[]=%c\n",a[i]);
}
第2个回答  推荐于2018-03-19
#include <stdio.h>
#include<string.h>
void main()
{
int i;
void vv(char str[10]);
char str[10];
gets(str);
vv(str);
for(i=0;i<10;i++)
printf("%c ",str[i]);
}
void vv(char str[10])
{
int i;
for(i=0;i<10;i++)
if(str[i]>='a'&&str[i]<='z')
str[i]=str[i]-32;
}
希望能帮助你……本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网