#include <stdio.h> int main(void){ int diff = 0X61 - 0X41; //在下对ascii码表还算熟悉,承让了 char ch; while(scanf("%c\n",&ch)!=EOF){ printf("%c\n",ch+diff); } }
#include <stdio.h> int main(void){ int diff = 0X61 - 0X41; //在下对ascii码表还算熟悉,承让了 char ch; while(1){ ch = getchar(); if(ch=='\n') continue; else if(ch==EOF) break; else printf("%c\n",ch+diff); } }
#include<stdio.h> int main(void){ char c; // 用来存储从键盘输入的字符 while(scanf("%c", &c) != EOF){ // 循环从键盘中读取输入的字符,直到最后一个字符输入 getchar(); // 此题在输入了字符后还有空格还是啥的,所以用getchar()来处理多余且没必要的字符输入 printf("%c\n", c + 32); // 将大写变成小写,只需要将它们的ASCII加32即可,然后输出 } return 0; }如何连续从键盘获取输入,如果输入中有多余字符如何处理
#include<stdio.h> int main() { int ch = 0; while ((ch=getchar ()) != EOF) { putchar(ch + 32); getchar(); printf("\n"); } return 0; }getchar 和putchar的使用
#include <stdio.h> int main() { char letter; while (scanf("%c", &letter) != EOF) { getchar(); // 吸收回车符 if (letter >= 'A' && letter <= 'Z') { // 判断是否为大写字母 letter = letter + ('a' - 'A'); // 大写字母转换为小写字母 } printf("%c\n", letter); } return 0; }
解释: 上述代码使用了一个无限循环来接收多组输入,直到遇到文件末尾(EOF)时退出循环。每次循环中,通过scanf()函数获取一个字符,并使用getchar()函数吸收掉回车符。然后,判断输入的字符是否为大写字母,如果是,则将其转换为小写字母。最后,使用printf()函数输出结果。
注意:在C语言中,字符类型使用单引号表示,例如'A'、'B'等。对于大写字母和小写字母之间的转换,可以利用ASCII码表中大小写字母的编码差值来实现,即大写字母加上'a' - 'A'的差值得到对应的小写字母。输出时使用%c格式控制符打印字符,并在结尾添加换行符\n。