这个问题的代码不会写
从键盘输入一个字符,如果是字母,就输出对应的ASCLL码,如果是数字字符,就转换成对应整数输出有人有这个问题的思路吗?
从键盘上输入一个字符,scanf("%c");这个是字符的输入方法,输出就用printf("%d");
sancf("%d");这个是整数的输入方法,输出就用printf("%d") 这怎么判断输入的是字符还是数字啊? 我不太明白,既然题目要求输入字符。为什么还要用scanf("%d")? 很简单,ASCCII码是按顺序来的。所以你只要判定输入值在字符'0'到'9'之间,就能确定是数字了。
判断在字符'a'到'z'或者'A'到'Z'之间就知道是字母了。字符是显示给你看的,实际上在计算机中都是一个个整数值
所以如果是字母,直接按%d输出即可。但如果是数字,因为'0'的值可不是0,所以你要查ASCII码表。减法计算,就可以。当然,你也可以不转换,直接输出字符格式%c,它显示的是0。虽然值不是0,但显示出来的是0。 本帖最后由 永恒的蓝色梦想 于 2020-8-9 17:13 编辑
#include<stdio.h>
int main() {
char c = getchar();
if ('0' <= c && c <= '9') {
putchar(c);
}
else if ('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z') {
printf("%d", c);
}
return 0;
} 满意麻烦给个最佳哦~{:10_297:} 巴巴鲁 发表于 2020-8-9 16:54
我不太明白,既然题目要求输入字符。为什么还要用scanf("%d")?
输入嘛 巴巴鲁 发表于 2020-8-9 16:54
我不太明白,既然题目要求输入字符。为什么还要用scanf("%d")?
我想了想怎么也想不明白{:5_90:} 这个函数我以为给用户用的呢 405794672 发表于 2020-8-9 17:06
很简单,ASCCII码是按顺序来的。所以你只要判定输入值在字符'0'到'9'之间,就能确定是数字了。
判断在字符 ...
恩恩,谢谢,明白了 才发现这题好简单 永恒的蓝色梦想 发表于 2020-8-9 17:17
满意麻烦给个最佳哦~
好的好的没问题{:5_106:} 想摸妹妹大腚 发表于 2020-8-9 20:33
我想了想怎么也想不明白 这个函数我以为给用户用的呢
也可能我理解错了{:10_243:},反正用%c或楼上的getchar()都行 巴巴鲁 发表于 2020-8-9 20:56
也可能我理解错了,反正用%c或楼上的getchar()都行
哈哈 没事哥们谢谢你{:5_97:}
页:
[1]