请用C语言实现 输出和为一个给定整数的所有组合
启动2012
/* 请用C语言实现 输出和为一个给定整数的所有组合 */ #include <stdio.h> //包含头文件stdio.h 为程序提供基本输入输出功能 #include <stdlib.h> //包含标准库头文件stdlib.h 以便调用函数system("pause") 使程序暂停 int main(void) { int num = 0; //获取输入的数字 int i = 0; //外层循环计数 int j = 0; //内层循环计数 printf("Please input a number:"); scanf("%d", &num); for(i = 1; i <= num / 2; i++) //i存放1 到 num/2 之间的整数(i < num/2) { for (j = num /2; j < num; j++) //j 存放 num/2 到 num 之间的整数 (j < num) { if (i + j == num) // num/2 前后两半部分的数相加, 如果和等于num则输出 i, j { printf("%d + %d = %d ", i, j, num); break; //退出内层循环,避免不必要的循环次数,提高效率 } } } system("pause"); //程序暂停。 system()中的参数可以是虚拟Dos窗口下的任意指令,有兴趣的可以换成 "dir" , "cls", "date"等试试 return 0; }
源代码下载地址如下: