C语言不错的朋友来帮下忙

初学这个 希望大家改的同时能告诉我错在哪谢谢了 写的好的我还另+分
改错
要求程序执行时,屏幕的显示和要求输入形式如下:
input a,b,c:2.0 2.0 3.0
a=2.000000,b=2.000000,c=3.000000
s=4.000000,v=12.000000
这下面是程序
main()
{
double a,b,c,s,v;
a=2.0;
b=2.0;
c=3.0;
printf("input a,b,c,:");
sacnf("%d%d%d\n",a,b,c);
s=a*b;
v=a*b*c;
printf("a=%le,b=%le,c=%le\n",a,b,c);
printf("s=%le,v=%le",v,s);
} 大家可能没看清楚题 要求的是那段程序运行后
屏幕的显示和要求输入形式如下:
input a,b,c:2.0 2.0 3.0
a=2.000000,b=2.000000,c=3.000000
s=4.000000,v=12.000000

53 浏览 7 回复
  printf   lf   000000   le   输入  

回复

    楼上正解。。。。

    侯漪澜

    ?

    梁水蓝

    %le 是什么?
    应该是 %lf 吧?

    蒋海

    我来说一下哪错了:
    1:sacnf("%d%d%d\n",a,b,c); 这句语句要改为scanf();语法错误;
    2:printf("s=%le,v=%le",v,s); le 要改为f.....
    试下吧.... 下面为可用代码:
    main()
    {
    double a,b,c,s,v;
    a=2.0;
    b=2.0;
    c=3.0;
    printf("input a,b,c,:");
    scanf("%d%d%d\n",&a,&b,&c);
    s=a*b;
    v=a*b*c;
    printf("a=%f,b=%f,c=%f\n",a,b,c);
    printf("s=%f,v=%f",v,s);
    }

    梁珂

    %e是以指数形式显示,%f才是以浮点数表示.
    定义时:double a,b,c,s,v,应该会报错.
    应改为:double a,b,c,s,v; //C语言的语句结束标志是";"(分号)
    sacnf("%d%d%d\n",a,b,c); 应改为:scanf("%d%d%d",&a,&b,&c);
    scnaf();语句中最好不要使用例如"\n"等非格式化字符,另外对于基本变量要使用取地址符"&".
    按你的要求,结果中应该现实小数点后6位小数,所以最后的printf();语句应为:
    printf("a=%.6f,b=%.6f,c=%.6f\n",a,b,c);
    printf("s=%.6f,v=%.6f\n",s,v);

    付妹

    程序如下:
    #include <stdio.h>
    void main(void)
    {
    double a,b,c,s,v;
    printf("input a,b,c,:");
    scanf("%lf%lf%lf",&a,&b,&c);
    s=a*b;
    v=a*b*c;
    printf("a=%lf,b=%lf,c=%lf\n",a,b,c);
    printf("s=%lf,v=%lf\n",s,v);
    }
    1,scanf打错了 使用方法错了
    此时要用&因为函数要得是变量的地址(为什么:是因为c是传值的只有使用指针那才可以修改函数外的变量 你可以看看《c专家编程》这本书 是很有趣的啦)
    还有是用%lf 还有不用加/n了
    不能用%d会丢失小数的
    2,printf使用有误
    3,#include <stdio.h> 少了
    4,void main(void) 函数定义不严格
    5,可以看看 http://www.sozz.cn/00050/15177.htm
    6,看看c primer 很详细
    printf("s=%lf,v=%lf\n",s,v);
    默认为6位小数
    scanf("<格式化字符串>",<地址表>);
    %d
    从键盘输入十进制整数
    %x
    从键盘输入十六进制整数
    %f
    从键盘输入一个实数

    付晨

    建议你用C++输入输出流
    #include<iostream>
    using namespace std ;
    int main()
    {
    double a,b,c,s,v
    cout << " input a,b,c:" ;
    cin >> a >> b >> c ;
    s = a * b;
    v = s * c;
    cout << "a=" << a << " b=" << b << " c=" << c
    << endl << "s=" << s << " v=" << v << endl;
    }

    邵宜妹

相关信息

可以讲一下printf 和 scanf语法么?

希望详细,举例。谢谢.还有为什么在C++里建立个WIN32控制台程序,已经include了<iostream>用cout 和cin也出错?

25 浏览 2 回复   字符   输出   函数   字符串   printf  

编写一个c程序 输入a b c 三个值 输出其中最大者我做的对不对?刚学

\#include<stdio.h> main() { int a,b,c; scanf("%d,%d,%d",a,b,c); if(a>b); a=max; else(b>a); b=max; if(c>max); c=max; printf("max is %d",c); } 打了max=a max=b max=c还是错为什么?谁帮我解答下

36 浏览 8 回复   max   if   输入   scanf   int  

通过scanf函数supressing blankspace输入

<p>要剿换行符我们使用%[^ \\ n]的。可你有什么建议,应在输入,即跳过空白格式,如果我们要输入“你好stackflow”。我知道fgets和获取,但我不想使用它们,他们正在创造的问题。 p&gt; </p>

17 浏览 1 回复   空白   输入   gt   格式   函数  

wo de xitong shu ru bu liao zhong wen le

bu zhi dao zen me hui shi ,shu ru bu liao han zi le !huan le zhong wen shu ru fa chang shi shu ru de shi hou ,IE,notepad ,word dou hui chu cuo!er ying wen shu ru zheng chang ,na wei gao shou ke yi zhi...

20 浏览 4 回复   输入   shu   ru   英文   系统  

从CR + LF C ++变化换行符LF

<p>我写的运行在Windows和输出,后来成为输入到Linux的程序中的文本文件中的代码。这个程序的行为不正确因为有换行符是CR + LF,而不是仅仅LF文件时。 P&gt; </p><p>我知道,我可以使用工具,如DOS2UNIX的,但我想跳过额外的步骤。是否有可能得到一个C ++程序在Windows中使用的窗口之一的Linux的换行呢? P&gt; </p>

44 浏览 1 回复   gt   换行   使用   文件   lf