永发信息网

几个简单C语言问题

答案:3  悬赏:70  手机版
解决时间 2021-05-18 21:28
  • 提问者网友:骑士
  • 2021-05-18 04:50

第一个。#include"stdio.h"
main()
{double x,y;
scanf("%f",x);
if(x>1) y=x;
else if (x>=1&&x<10)
y=2*x-1;
else y=3*x-11;
printf("y=%f",y);
}

编译通过,。

运行程序,,输入数。出来 程序错误,,该内存不能为written。。。怎么解决??

2.还是上面的程序,我把程序改成下面的;

编译还是通过

#include<stdio.h>
main()
{double x,y;
scanf("%f",&x);
if(x<1) y=x;
else if(x>=10) y=3*x-11;
else y=2*x-1;
printf("%f",y);
}

程序运行,输入一个数。。出来的 结果是-9865789922899000000000000000.000000000000一个很大的数。。怎么回事

最佳答案
  • 五星知识达人网友:千夜
  • 2021-05-18 05:53

第一个


scanf("%f",&x)



第2个如果不重起电脑那么每次都是这个数还是输入的数不一样输出也不一样?


全部回答
  • 1楼网友:举杯邀酒敬孤独
  • 2021-05-18 08:10

输入语句改成:scanf("%lf",&x);

double输入时对应的是%lf,%f是对应float的

  • 2楼网友:千夜
  • 2021-05-18 06:37

第一题:

#include"stdio.h" main() { double x,y; scanf("%lf",&x); //用地址获取输入.所以要加&. 另外double是双精度浮点型,格式为%lf if(x>1) y=x; else if (x>=1&&x<10) y=2*x-1; else y=3*x-11; printf("y=%lf",y); //输出同上. }

第二题: 跟第一题一样. 将格式改成%lf.

也可以将double 改成float 那么输入和输出格式就是%f.

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯