把一个字符串输入一个字符数组st1中,把其中的大写字母变成小写字母,而小写字母变成大写字母,最后输

如题所述

该程序功能并不复杂啊。但是你必须要清楚 26 个英文字母的大、小写对应关系才能够编写相对应的 C 语言源代码。下面仅以编写 26 个英文字母的大、小写转换程序为例进行说明(别的任何字符不做任何处理)。
#include <stdio.h>
#define MAX 50 /* 定义可以从键盘接收字符串的最大长度为 MAX 个字符 */
void main( )
{
int i ;
char my_string1[MAX] ; /* 定义一个字符数组 my_string1,用于存放后面从键盘输入的字符串 */
gets(my_string1) ; /* 从键盘上输入一个字符串,并保存到 my_string1 字符数组中 */
printf("my_string1 is : %s\n", my_string1) ; /* 在屏幕上输出进行大、小写字母转换之前的字符串 */
for( i = 0 ; my_string1[i] != '\0' ; i ++ )
{
if( ( my_string1[i] >= 'a' ) && ( my_string1[i] <= 'z' ) )
my_string1[i] -= 32 ; /* 若 my_string1 字符数组中的字符是 26 个小写字母中的一个,则将该字符转换成大写字母 */
else if( ( my_string1[i] >= 'A' ) && ( my_string1[i] <= 'Z' ) )
my_string1[i] += 32 ; /* 若 my_string1 字符数组中的字符是 26 个大写字母中的一个,则将该字符转换成小写字母 */
else
; /* 否则的话,如果是 26 个大、小写英文字母之外的其他任何字符,则不做任何处理 。*/
}
printf("my_string1 is : %s\n", my_string1) ; /* 在屏幕上输出进行大、小写字母转换之后的字符串 */
}
温馨提示:答案为网友推荐,仅供参考
相似回答