#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include
int main()
{
double n,flag;
int m,j,k,t,r,i;
double *p;
double sum=0.00;
printf("请输入数字的个数:"); //比如说,你输入一个50,其构成的序列是(1----50)的递增序列,有50个数。
scanf("%d",&m); //输入这个数字
p=(double *)malloc(m*sizeof(double)); //动态分配一个空间.(如果用数组,则无法保证你可以任意输入数字的个数,因为是静态的了)
for (i=0,flag=0.01;i
{
p[i]=flag;
flag=flag+0.01; //赋值语句
}
for (i=0;i
{
if (i%9==0)
printf("\n");
printf("%-5.2lf",p[i]);
}
printf("\n");
printf("请输入这个序列的和:"); //输入你要的那个序列的和的值
scanf("%lf",&n); //输入这个值
for (i=0;i
{
if (p[i]>n) //判断第一个数是否大于了n值
exit(-1);
for (j=1;j
{
for (t=i;t
sum+=p[t];
if (sum
{
for (k=j+i;k
{
if(fabs((sum+p[k]) - n) > 0.000001) //如果当前待比较的值与sum的和不等于n,则需比较下一个
continue;
printf("%-5.2lf=",n);
for (r=i;r
printf("%-5.2lf+",p[r]);
printf("%-5.2lf",p[k]);
printf("\n");
}
}
sum=0.00; //再次清零
}
printf("\n");
}
getch();
return 0;
}

我就是真命天子,顺我者生,逆我者死!
本文介绍了一个使用C语言编写的程序,该程序能够生成指定范围内的递增浮点数序列,并找出序列中能组合成特定目标和的所有可能组合。
1241

被折叠的 条评论
为什么被折叠?



