C语言float型可表达错误,float型出错了,怎么改呀?

本文介绍了一个使用C语言编写的程序,该程序能够生成指定范围内的递增浮点数序列,并找出序列中能组合成特定目标和的所有可能组合。

#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;

}

6f83fddf9cb9ff6843fffd45e1807199.gif

我就是真命天子,顺我者生,逆我者死!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值