| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 742 人关注过本帖
标题:为什么出错?
只看楼主 加入收藏
汤姆狗
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2020-9-22
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:2 
为什么出错?
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 出错 
2020-10-05 21:54
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
收藏
得分:5 
回复 楼主 汤姆狗
程序代码:
# include<stdio.h>
int main()
{
    int a,i,b,c;                // 你的程序 i 后面有一竖杠
    double d;                   // 我的系统不支持变量随用随定义,故移到此;若你系统支持,此句可不预理睬
    scanf ("%d",&a);            // scanf() 中引号后那个不知啥玩艺,不要
    for(i = 1;i <= a; i++)      // 这个循环没有意义,因为循环体内的两个语句都与变量 i 无关
    {
        b = a * a;              // C语言不能将两个语句用逗号隔开
        c = (a + 1) * (a + 1);
    }                           // 循环体结束时不需要分号
    d = 1.00 * b / c;           // 整型除以整型,要强制转换为双精度 double 型,必须得让右侧为 double 型再运算
    printf ("%lf",d);           // double 型数据输出,要用 lf (字母L的小写,不是1)
    return 0;
}
2020-10-06 01:07
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:570
专家分:3727
注 册:2019-7-29
收藏
得分:5 
你这个应该是你编译或debug的时候,上一次运行的窗口没有关闭,导致的文件调用冲突导致的。也就是你编译的时候会更改这个exe执行文件,如果这个文件被打开开了,就不允许写入,这样编译就失败了。
你程序里有几处楼上所说的问题
b = a * a;              
        c = (a + 1) * (a + 1);
语句应该使用分号隔开
d = 1.00 * b / c;
d = (double)b / c;
以上两种方法都可以应该使b或者c变为double类型在进行计算,否则d的值是b/c得到整数后的值在转换的
printf ("%lf",d);
doule类型使用%lf输出,%f是float类型的输出。

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2020-10-06 07:05
快速回复:为什么出错?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084774 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved