三个数 分别取平均值

TT-海上的烟火 2018-07-26 10:54:17
#include <stdio.h>

double average(double a, double b)
{
return (a + b) / 2;
}

int main(void)
{
double x, y, z;

printf ("Enter three numbers:");
scanf ("%1f%1f%1f",&x, &y, &z);
printf ("Average of %g and %g:%g\n",x, y, average(x, y));
printf ("Average of %g and %g:%g\n",y, z, average(y, z));
printf ("Average of %g and %g:%g\n",x, z, average(x, z));

return 0;
}

为啥运行出来是这个样
...全文
331 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
TT-海上的烟火 2018-07-26
  • 打赏
  • 举报
回复
谢谢 看成1了
自信男孩 2018-07-26
  • 打赏
  • 举报
回复
 scanf ("%lf%lf%lf",&x, &y, &z);

注意输入的是%lf不是%1f;即f前面的是一个l,字母l,大写是L,不是数字1.

即使是1也没关系,但是表达的意思就不一样了。建议查找一下相关的知识(带数字的输入格式)。
scanf ("%lf%lf%lf",&x, &y, &z);
printf("%lf, %lf, %lf\n", x, y, z);

输入之后加一条打印,确保输入的内容和自己想的是否一致,便于定位问题。

69,335

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧