#include<stdio.h>
int main()
{
int a=142857,b,c,d,e,f,g,h;
printf("将初始值分解成两组数:");
scanf("%d%d",&b,&c);
d=b+c;
printf("这两组数的和是:%d",d);
printf("将初始值分解成三组数:%d%d%d",e,f,g);
h=e+f+g;
printf("这三组数的和是:%d",h);
return 0;
}
#include <stdio.h>
int main()
{
int n = 142857;
int a = n / 1000;
int b = n % 1000;
int c = n / 10000;
int d = n / 100 % 100;
int e = n % 100;
printf("%d,%d,%d,%d,%d\n", a, b, c, d, e);
printf("%d\n", a + b);
printf("%d\n", c + d + e);
return 0;
}
你这样写?是手动分成2个数或者3个数??你用了scanf()
你这样定义的b,c,d,e,f,g,h都是没有初始化的随机值
scanf("%d%d",&b,&c);
d=b+c; 对于这两句 ,① & 是取地址符,表示我们输入两个值赋值给b和c;② d = b + c 只会将随机值赋值给d,要明白,要让计算机帮我们进行运算,首先要给它精确的表达式,您所给的代码含义是自己输入几个数分别求和,并不能起到划分数字的作用。
想要划分数字,需要对 a 进行操作,142857 ,142,857,易得这分别是对 a / 1000 的结果和对 a % 1000 的结果(不清楚的话可以去查一下,然后划分数字),142857 划分为三个数字也是同理可得。
希望对你有所帮助。