12
返回列表 发新帖
楼主: 78战士
收起左侧

[求助] 各位会编程的大神进来帮帮我

[复制链接]
78战士
 楼主| 发表于 2013-3-31 19:26:28 | 显示全部楼层
大家看看我这一段代码错在哪了,是用vc++6.0编的
#include<stdio.h>
#include<math.h>
int main(void)
{
        int p0,i;
        double p1,s0,s1,a,px,death;
        scanf("%d",&p0);
        for(i=0;i<=100;i++){
                for(s0=0.6;a<=0.00001;s0=s1){
                        p1=p0*s0;
                        death=p0-p1;
                        px=(p0+p1)/2.0;
                        s1=1.0-death/px;
                        a=fabs(s1-s0);
                }
                printf("%d岁到%d岁的人的存活率是%.6lf\n",i,i+1,s1);
                printf("%d岁到%d岁的人的存活数是%d\n",i,i+1,p1);
                printf("%d岁到%d岁的人的死亡数是%d\n",i,i+1,death);
                p0=p1;
                s0=s1;
        }
        return 0;
}
hefnrh
发表于 2013-3-31 23:34:55 | 显示全部楼层
后两个printf的第三个参数是double类型的,不能用%d吧。。
GreenCodes
发表于 2013-4-1 01:39:00 | 显示全部楼层
78战士 发表于 2013-3-31 19:26
大家看看我这一段代码错在哪了,是用vc++6.0编的
#include
#include

把内层for循环的s0=0.6删除,,声明的时候给s0赋值

评分

参与人数 1经验 +5 收起 理由
HearFish + 5 感谢解答: )

查看全部评分

78战士
 楼主| 发表于 2013-4-1 11:15:16 | 显示全部楼层
GreenCodes 发表于 2013-4-1 01:39
把内层for循环的s0=0.6删除,,声明的时候给s0赋值

能具体点吗???我刚学c程
ZJUER
发表于 2013-4-1 11:20:28 | 显示全部楼层
GreenCodes 发表于 2013-4-1 01:39
把内层for循环的s0=0.6删除,,声明的时候给s0赋值

跟这个没关系
ZJUER
发表于 2013-4-1 11:21:02 | 显示全部楼层
78战士 发表于 2013-4-1 11:15
能具体点吗???我刚学c程

上VC的报错截图,以及吐槽都什么年代了还用VC6
78战士
 楼主| 发表于 2013-4-1 12:08:05 | 显示全部楼层
ZJUER 发表于 2013-4-1 11:21
上VC的报错截图,以及吐槽都什么年代了还用VC6

代码可以运行,但是不是要的结果
prowllw
发表于 2013-4-1 14:30:56 | 显示全部楼层
你的a没有初始化就拿来用了。保险起见还是一开始a=0好。
话说我的vc除了警告a没初始化之外就没别的问题了,lz你的vc坏了吧。。。
78战士
 楼主| 发表于 2013-4-1 18:11:45 | 显示全部楼层
prowllw 发表于 2013-4-1 14:30
你的a没有初始化就拿来用了。保险起见还是一开始a=0好。
话说我的vc除了警告a没初始化之外就没别的问题了, ...

我的也是。。。但是得不到我想要的结果
bl111power
发表于 2013-4-1 19:14:03 | 显示全部楼层
本帖最后由 bl111power 于 2013-4-1 19:56 编辑

反对LZ发这样的帖子,这样你得不到提高。  何必浪费学费,都是你爹妈赚回来的。

如果你不在乎这点学费,又需要人帮你做作业,有诚意点,报个价吧。


如果你只是想问那几行代码哪里错了,那我告诉你, 你申明的int型和double型混在一起用是不严谨的(会强制转化),
但这不是报错的原因, 报错是因为你用的编译器不对。 所以, LS那些的解答都是不对的。 比如有人说要修改for循环,但那只是一个小小的算法而已,怎么修改(只要语法正确)都没关系。  跟LZ报错不是一回事。


LZ换个编译器,就不会报错了。  学C和C++的我推荐用ubuntu系统自带的编译器 。


您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-18 21:02 , Processed in 0.101500 second(s), 15 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表