C语言设计 (第四版) 谭浩强 例4.4
例 4.4 输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
方法1:
#include
#include
#include
int main(){
char *ch = (char*)malloc(sizeof(char));
printf("Enter character: ");
gets(ch);
while(*ch < 'A' || (*ch > 'Z' && *ch < 'a') || *ch > 'z'){
printf("Error! It's not a letter! Retry!\n");
printf("Enter character: ");
gets(ch);
}
*ch = (*ch >= 'A' && *ch <= 'Z') ? *ch + 32 : *ch;
printf("Final character: %c\n", *ch);
free(ch);
system("pause");
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
方法2:使用函数的模块化设计
#include
#include
#include
void input(char *ch){
printf("Enter character: ");
gets(ch);
while(*ch < 'A' || (*ch > 'Z' && *ch < 'a') || *ch > 'z'){
printf("Error! It's not a letter! Retry!\n");
printf("Enter character: ");
gets(ch);
}
}
void output(char *ch){
*ch = (*ch >= 'A' && *ch <= 'Z') ? *ch + 32 : *ch;
printf("Final character: %c\n", *ch);
}
int main(){
char *ch = (char*)malloc(2 * sizeof(char));
input(ch);
output(ch);
free(ch);
system("pause");
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27