#include <stdio.h>
/*
从键盘输一个4位数,实现将该4位数中的每一个数字转换为对应的字符,最后输出他们的ASCII码
*/
int main(int argc, char **argv)
{
int num ;//short num=4352;
char ge, shi, bai, qian;
printf("请输入一个四位数!\n");
scanf("%d",&num);
if (num > 1000 && num < 9999)//对输入的数num进行判断是否是四位数
{
/*
//这里加上48是为了把ge变成对应的char数字,
比如个位是int类型的数字2,
而char类型中 2 代表的ascii是 50 (48+2)
所以也就是 ge='0'+2 才能代表char中的 2
*/
ge = 48 + num % 10; // 等价于 ge = '0' + num % 10;
shi = 48 + (num / 10) % 10;// 435.2%10=5
bai = 48 + (num / 100) % 10;// 43.52%10=3
qian = 48 + (num / 1000) % 10;// 4.352%10=4;
}
printf("千位数字是:%c\n",qian);//按照字符型的格式输出
printf("百位数字是:%c\n",bai);
printf("十位数字是:%c\n",shi);
printf("个位数字是:%c\n",ge);
printf("个位的16进制ascii码是:%#x\n", ge);
printf("十位的16进制ascii码是:%#x\n", shi);
printf("百位的16进制ascii码是:%#x\n", bai);
printf("千位的16进制ascii码是:%#x\n", qian); // 这里输出了16进制的ascii值。
return 0;
}
/*
首先对输入的num进行判断是否是四位数,否则出现输入。
判断四位数的条件是 num是不是位于1000到9999之间。
c语言中 / 和 % 是不一样的
*/
当在 C 语言中使用 /
和 %
运算符时,它们分别用于进行除法和取模运算。
1,除法运算符 (/):/
运算符用于执行除法运算,将一个数除以另一个数,并返回商。如果两个操作数都是整数,则得到的结果也是整数
int a = 10;
int b = 3;
int result = a / b; // result 的值为 3
注意:如果操作数为浮点数,则结果也为浮点数。
float c = 10.0;
float d = 3.0;
float result = c / d; // result 的值为 3.333333
2.取模运算符 (%):%
运算符用于执行取模运算,计算一个整数除以另一个整数后的余数。
int a = 10;
int b = 3;
int result = a % b; // result 的值为 1
取模运算符常用于判断一个数是否为另一个数的倍数,或者用于对数字进行循环。
int number = 15;
if (number % 5 == 0) {
printf("number 是 5 的倍数");
} else {
printf("number 不是 5 的倍数");
}
取模运算符也可以与负数一起使用,结果的正负取决于被取模数的符号。
int a = -13;
int b = 5;
int result = a % b; // result 的值为 -3