如题所述
#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》
#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]);
}
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;
}
希望能帮助你……本回答被提问者和网友采纳
#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;
}
希望能帮助你……本回答被提问者和网友采纳