24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 873  |  回复: 9
当前主题已经存档。

梅里雪山

银虫 (正式写手)

[交流] 【讨论】请高手给点指导

题目要求:
有一个函数
           x         x<1
y=     2x-1     1≤x<10
       3x-11      x≥10

写一段程序,输入x输出y.
我的程序如下:
#include
void main()
{
        float x,y;
        scanf("%f",&x);
        if(x<1)
                printf("y=%f",x);
        else
        {
                if(x>=10)
                        y=3x-11;
                        printf("y=%f",y);
                else
                        y=2x-1;
                        printf("y=%f",y);
        }
}
非常感谢大家!我是个初学者,正准备考今年的国家二级

[ Last edited by 梅里雪山 on 2009-7-26 at 09:30 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rjjy

木虫 (著名写手)

没发现问题啊!
2楼2009-07-25 12:01:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rjjy

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
热心虫友开的C++答疑专贴:
http://muchong.com/bbs/viewthread.php?tid=1367520&fpage=1
可参考!
3楼2009-07-25 12:02:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梅里雪山

银虫 (正式写手)

引用回帖:
Originally posted by rjjy at 2009-7-25 12:01:
没发现问题啊!

但是运行不出来啊
4楼2009-07-25 12:06:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

0112358

木虫 (职业作家)

这个问题不用高手吧,让我这个外行试试

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
rjjy(金币+1,VIP+0):好眼力! 7-25 21:35
帮你改过的:
#include
void main()
{
        float x,y;
        scanf("%f",&x);
        if(x<1)
                printf("y=%f",x);
        else
        {
                if(x>=10)
                        y=3*x-11;
                else
                        y=2*x-1;
                        printf("y=%f",y);
        }
}

你的原语句有三处错误
最明显的就是省略了乘号“*”,另外一处提示“misplaced else in function main”,虽然我觉得好像没有什么错误(我的基础仅限于大学时候学的C),反正我删除多于的printf后就没有错误了

[ Last edited by 0112358 on 2009-7-25 at 21:27 ]
5楼2009-07-25 19:57:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
rjjy(金币+1,VIP+0):谢谢交流! 7-25 21:36
首先,在现代编译器里面void main()是可能会出问题的,不信你到gcc里面试试
其次,浮点数比较不对,浮点数比较是会有精度问题的,应该用两者之差小于你需要的精度;
最后,程序写得不规范,养成很好的对齐习惯很重要的
www.cvdelver.com
6楼2009-07-25 21:17:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ms98

★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
0112358(金币+5):欢迎常来指导,现在程序版要提高指导待遇,先小讲一下,很清楚,想起了我的C语言老师了,呵呵
ls的我无语了...
这个初级问题明显是教材习题,编译器应该是vc或者turbo c。void main是可以的,当然用int  main肯定更标准。
if(x<1)和 if(x>=10)根本不存在浮点数比较问题。只有==才存在,这是因为2-10进制转换在小数部分可能会存在无法精确转换的问题(比如0.1这个10进制在2进制下就成了无限循环)。
对齐不是主要问题,当然规范要慢慢来学。
lz碰到的问题应该在这儿:
     if(x>=10)
         y=3x-11;
         printf("y=%f",y);
这句话问题大,首先乘号不能省略,其次if后面只能跟一个语句,现在有两个语句,需要用{}改为复合语句。“misplaced else in function main”就是这个原因导致的。
程序逻辑不好,改一下吧:
#include
int main()
{
        float x,y;  //这里题意不清,这样也可以
        scanf("%f", &x);
        if(x<1)
              y = x;
        else if(x>=10)
              y=3*x-11;
        else // 1≤x<10
              y=2*x-1;
        printf("y=%f",y);
        return 0;
}
应付一下作业没问题了。
lz最大的问题就是根本没有说清楚自己的问题是什么,碰到了什么困难,错误信息是什么,哎...

[ Last edited by ms98 on 2009-7-25 at 23:27 ]
7楼2009-07-25 22:13:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

prestoner

木虫 (小有名气)


sunxiao(金币+1,VIP+0):谢谢参与,欢迎常来 7-26 05:40
main函数的标准写法:
int main(int argc, char *argv[])
╰╭︿︿☆╮ {/ . .\} ( (oo) ) ︶︶︶︶
8楼2009-07-26 00:58:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

紫舞幽

金虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
sunxiao(金币+2,VIP+0):thank u 7-27 06:25
printf语句太多了,其实不用的,循环的最后加一句就行,还有就是乘号的问题,貌似再没什么
9楼2009-07-26 15:36:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tjpm

金虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
0112358(金币+1):欢迎常来程序版回帖讨论
应该说是
int main(void)和 int main(int argc, char *argv[])
引用回帖:
Originally posted by prestoner at 2009-7-26 00:58:
main函数的标准写法:
int main(int argc, char *argv[])

10楼2009-07-28 10:50:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 梅里雪山 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 352分-085602-一志愿985 +5 海纳百川Ly 2026-03-29 5/250 2026-03-29 09:57 by Sjndkwm
[考研] 291求调剂 +4 Y-cap 2026-03-29 5/250 2026-03-29 08:08 by 无际的草原
[考研] 329求调剂 +7 星野? 2026-03-26 7/350 2026-03-29 06:43 by 544594351
[考研] 22408 359分调剂 +4 Qshers 2026-03-27 5/250 2026-03-28 21:26 by zhq0425
[考研] 343求调剂 +5 爱羁绊 2026-03-28 5/250 2026-03-28 20:53 by 唐沐儿
[考研] 071000生物学求调剂,初试成绩343 +7 小小甜面团 2026-03-25 7/350 2026-03-28 20:25 by 唐沐儿
[考研] 化学0703 调剂 306分 一志愿211 +4 26要上岸 2026-03-28 4/200 2026-03-28 15:30 by 1018329917
[考研] 085600,材料与化工321分求调剂 +9 大馋小子 2026-03-28 9/450 2026-03-28 14:56 by 神马都不懂
[考研] 求调剂 +6 芦lty 2026-03-25 7/350 2026-03-28 13:13 by 唐沐儿
[考研] 0703一志愿9,初试成绩:338,四六级已过,有科研经历,求调剂! +4 Zuhui0306 2026-03-25 4/200 2026-03-28 13:07 by 唐沐儿
[考研] 274求调剂 +17 顾九笙要谦虚 2026-03-24 23/1150 2026-03-27 15:16 by caszguilin
[考研] 材料调剂 +8 匹克i 2026-03-23 8/400 2026-03-27 08:11 by hypershenger
[考研] 351求调剂 +4 麦克阿磊 2026-03-24 4/200 2026-03-27 00:32 by wxiongid
[考研] 294分080500材料科学与工程求调剂 +4 柳溪边 2026-03-26 4/200 2026-03-26 21:14 by XPU李庆
[考研] 机械学硕310分,数一英一,一志愿211本科双非找调剂信息 +3 @357 2026-03-25 3/150 2026-03-26 16:34 by by.MENG
[考研] 289求调剂 +17 硕星赴 2026-03-23 17/850 2026-03-26 16:18 by 不吃魚的貓
[考研] 一志愿河工大 081700 276求调剂 +4 地球绕着太阳转 2026-03-23 4/200 2026-03-26 14:27 by zzll406
[考研] 打过很多竞赛,085406控制工程300分,求调剂 +3 askeladz 2026-03-26 3/150 2026-03-26 09:08 by 给你你注意休息
[考研] 332求调剂 +6 032500 2026-03-25 6/300 2026-03-25 22:45 by 418490947
[考研] 一志愿中南大学化学学硕0703总分337求调剂 +7 niko- 2026-03-22 7/350 2026-03-25 20:14 by qingfeng258
信息提示
请填处理意见