我需要用C语言回答一个问题(关于模运算符)I';我会在下面列出,我检查了问题的答案,但无法';我不明白
问题是: 通过键盘输入4位数字。写一个C程序来打印一个新的数字,数字与原来的数字相反。例如-我需要用C语言回答一个问题(关于模运算符)I';我会在下面列出,我检查了问题的答案,但无法';我不明白,c,input,output,modulo,C,Input,Output,Modulo,问题是: 通过键盘输入4位数字。写一个C程序来打印一个新的数字,数字与原来的数字相反。例如- 输入:1234输出:4321 输入:5982输出:2895 我的代码是: #包括 int main() { int x; printf(“输入编号”); scanf(“%d”和&x); int第一位数字=x%10; 整数第二位=(x/10)%10; 整数第三位=(x/100)%10; 整数第四位=(x/1000)%10; 整数新数字=(第一个数字*1000)+(第二个数字*100)+ (第三位*10)+
输入:
1234
输出:4321
输入:
5982
输出:2895
我的代码是:
#包括
int main()
{
int x;
printf(“输入编号”);
scanf(“%d”和&x);
int第一位数字=x%10;
整数第二位=(x/10)%10;
整数第三位=(x/100)%10;
整数第四位=(x/1000)%10;
整数新数字=(第一个数字*1000)+(第二个数字*100)+
(第三位*10)+(第四位*1);
printf(“%d\n”,新的\u编号);
返回0;
}
如果你能帮助我,我将不胜感激!谢谢告诉我这是怎么倒数的 例如
int third_digit = (x/100)%10;
如果x
为1234
,x/100
为1234/100
或12
(剩余部分34
),则12%10
为2(商1
)
x/100
的值为x
除以100(忽略任何小数,因为它都是整数)。x%10
将x
的剩余部分除以10
我将尝试在代码中向您解释,例如输入1234:
#include <stdio.h>
int main()
{
int x;
printf("Enter number\n");
scanf("%d",&x);
int first_digit = x / 1; // first_digit = 1234
int second_digit = x / 10; // second_digit = 123
int third_digit = x / 100; // third_digit = 12
int fourth_digit = x / 1000; // fourth_digit = 1
// obtain last digit
first_digit = first_digit % 10; // first_digit = 4
second_digit = second_digit % 10; // second_digit = 3
third_digit = third_digit % 10; // third_digit = 2
fourth_digit = fourth_digit % 10; // fourth_digit = 1
first_digit *= 1000; // first_digit = 4000
second_digit *= 100; // second_digit = 300
third_digit *= 10; // third_digit = 20
fourth_digit *= 1; // fourth_digit = 1
// 4000 + 300 + 20 + 1 = 4321
int new_number = first_digit + second_digit + third_digit + fourth_digit;
printf("%d\n",new_number);
return 0;
}
#包括
int main()
{
int x;
printf(“输入编号”);
scanf(“%d”和&x);
int first\u digit=x/1;//first\u digit=1234
int第二位数=x/10;//第二位数=123
int第三位数=x/100;//第三位数=12
int第四位=x/1000;//第四位=1
//获取最后一位
第一位=第一位%10;//第一位=4
第二位=第二位%10;//第二位=3
第三位=第三位%10;//第三位=2
第四位=第四位%10;//第四位=1
第一个数字*=1000;//第一个数字=4000
第二位*=100;//第二位=300
第三位*=10;//第三位=20
第四位*=1;//第四位=1
// 4000 + 300 + 20 + 1 = 4321
int new_number=第一位数字+第二位数字+第三位数字+第四位数字;
printf(“%d\n”,新的\u编号);
返回0;
}
所以,正如@ Pmg在他的回答中指出的,模运算器做了所有的工作。
我不知道C++,但是我相信你的代码不是C++程序编写的标准方式。编写多语言源文件是一项艰巨的工作。我建议每个文件使用一种语言。