
请用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 \n", i, j, num);
break; //退出内层循环,避免不必要的循环次数,提高效率
}
}
}
system("pause"); //程序暂停。 system()中的参数可以是虚拟Dos窗口下的任意指令,有兴趣的可以换成 "dir" , "cls", "date"等试试
return 0;
}
源代码下载地址如下: