24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 869  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 梅里雪山 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 招收生物学/细胞生物学调剂 +4 IceGuo 2026-03-26 5/250 2026-03-29 01:25 by griffith2014
[考研] 一志愿武汉理工,总分321,英一数二,求老师收留。 +7 nnnnnnn5 2026-03-25 7/350 2026-03-29 00:32 by 我是小康
[考研] 一志愿太原理工安全工程300分,求调剂 +5 0857求调剂. 2026-03-24 6/300 2026-03-28 22:04 by zhq0425
[考研] 一志愿厦门大学化学学硕307求调剂 +10 y7czhao 2026-03-26 10/500 2026-03-28 14:23 by 唐沐儿
[考研] 070300求调剂306分 +4 26要上岸 2026-03-27 4/200 2026-03-28 13:06 by 唐沐儿
[考研] 286求调剂 +12 PolarBear11 2026-03-26 12/600 2026-03-28 12:14 by zllcz
[考研] 药学105500求调剂 +3 Ssun。。 2026-03-28 3/150 2026-03-28 11:24 by lxf170613
[考研] 291求调剂 +7 孅華 2026-03-22 7/350 2026-03-28 04:02 by fmesaito
[考研] 283求调剂(080500) +4 A child 2026-03-27 4/200 2026-03-27 15:34 by XPU李庆
[考研] 085601 材料工程 313分 求调剂 +5 Ong3 2026-03-27 5/250 2026-03-27 12:24 by goldfish51
[考研] 材料求调剂 +5 .m.. 2026-03-25 5/250 2026-03-27 11:08 by 不吃魚的貓
[考研] 一志愿陕师大生物学071000,298分,求调剂 +5 SYA! 2026-03-23 5/250 2026-03-27 09:29 by 不吃魚的貓
[考研] 317求调剂 +7 蛋黄咸肉粽 2026-03-26 7/350 2026-03-27 02:29 by fmesaito
[考研] 调剂求收留 +7 果然有我 2026-03-26 7/350 2026-03-27 00:26 by wxiongid
[考研] 【双一流院校新能源、环境材料,材料加工与模拟招收大量调剂】 +4 Higraduate 2026-03-22 8/400 2026-03-26 20:34 by Higraduate
[考研] 生物学 296 求调剂 +4 朵朵- 2026-03-26 6/300 2026-03-26 19:01 by 不吃魚的貓
[考研] 297求调剂 +6 田洪有 2026-03-26 6/300 2026-03-26 15:55 by 不吃魚的貓
[考研] 0854电子信息求调剂 +7 α____ 2026-03-22 9/450 2026-03-25 13:37 by α____
[考研] 生物学学硕求调剂 +7 小羊睡着了? 2026-03-23 10/500 2026-03-25 02:24 by 清风拂扬。 m
[考研] 280分求调剂 一志愿085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by 星空星月
信息提示
请填处理意见