Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要用C语言回答一个问题(关于模运算符)I';我会在下面列出,我检查了问题的答案,但无法';我不明白_C_Input_Output_Modulo - Fatal编程技术网

我需要用C语言回答一个问题(关于模运算符)I';我会在下面列出,我检查了问题的答案,但无法';我不明白

我需要用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)+

问题是:

通过键盘输入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)+(第四位*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++程序编写的标准方式。编写多语言源文件是一项艰巨的工作。我建议每个文件使用一种语言。