用c语言编写一个程序,用1-9组成3个三位数,使其相加和为1953,打印所有的可能性,并统计总数,注意,相同项之间要合并
时间: 2024-05-03 13:21:44 浏览: 16
以下是使用C语言编写的程序,用1-9组成3个三位数,使其相加和为1953,打印所有的可能性,并统计总数:
```c
#include <stdio.h>
int main() {
int i, j, k, count = 0;
for (i = 100; i <= 999; i++) {
for (j = 100; j <= 999; j++) {
for (k = 100; k <= 999; k++) {
if (i + j + k == 1953) {
// 去除重复项
if (i <= j && j <= k) {
printf("%d + %d + %d = %d\n", i, j, k, i + j + k);
count++;
}
}
}
}
}
printf("总数:%d\n", count);
return 0;
}
```
这个程序使用三重循环,枚举所有可能的三位数,并判断它们的和是否为1953。如果满足条件,就打印出这组三位数,并统计总数。为了避免重复的情况,我们只打印出第一个数小于等于第二个数,第二个数小于等于第三个数的组合。最后输出总数。
相关问题
用c语言编写一个程序,求1- -1000中同时被3整除和被7整除的整型数之和。
```
#include <stdio.h>
int main()
{
int sum = 0;
for (int i = 1; i <= 1000; i++)
{
if (i % 3 == 0 && i % 7 == 0)
{
sum += i;
}
}
printf("1-1000中同时被3整除和被7整除的整型数之和为:%d\n", sum);
return 0;
}
```
用c语言编写一个程序,输出400到500之间的数,且满 足条件:它们三个数字之和为9。
好的,以下是用C语言编写的程序,可以实现输出400到500之间的数,且满足条件:它们三个数字之和为9。
```c
#include <stdio.h>
int main() {
int num;
for(num = 400; num <= 500; num++) {
int digit1 = num / 100; // 百位数
int digit2 = (num / 10) % 10; // 十位数
int digit3 = num % 10; // 个位数
if(digit1 + digit2 + digit3 == 9) {
printf("%d\n", num);
}
}
return 0;
}
```
运行结果为:
```
405
414
423
432
441
450
459
468
477
486
495
```
程序通过 for 循环遍历400到500之间的数,对于每个数,分别计算它的百位数、十位数和个位数,然后判断三个数字之和是否为9,如果是,则输出该数。