当前位置: 代码迷 >> C语言 >> 小小问题。
  详细解决方案

小小问题。

热度:132   发布时间:2007-10-14 16:24:03.0
小小问题。
一道书上的练习题:
完善程序.


main()
{
float a,b,c;
clrscr();
printf("请输入商品的原价(单位:元):");
scanf("\n%d",&a);
printf("请输入折扣率:");
scanf("\n3.2f",&b);
c=a*b;
printf("实际售价为:%4.2f",c);
}

运行结果:
请输入商品的原价(单位:元):120
请输入折扣率:0.85
实际售价为:102.00


红色字体就是我所填的,但就是算不出最后的结果。。
麻烦大虾们帮我下!看看哪里写错了!
小弟在此谢了。
搜索更多相关的解决方案: 单位  商品  练习题  折扣率  color  

----------------解决方案--------------------------------------------------------
此题已解决了!~
会了
----------------解决方案--------------------------------------------------------

你的clrscr();是什么意思?
干什么用的呀?


----------------解决方案--------------------------------------------------------
清除上次屏幕输入吧
----------------解决方案--------------------------------------------------------
scanf("\n%d",&a);//应该是f%吧
printf("请输入折扣率:");
scanf("\n3.2f",&b);//输入只可以f,输出才可以这样
----------------解决方案--------------------------------------------------------
如果clrscr();是清除上次屏幕输入的话,我想这是在TC里面运行才可以吧.
在VC++里面清除上次屏幕输入的话应该是fflush(stdin);

但我还是想问一下clrscr();到底是什么意思?
干什么用的呀?

----------------解决方案--------------------------------------------------------
clrscr();
是一个清屏函数;用于清除上一次程序运行后的输入和输出。在TC里用的,在VC++里面用不着VC会自动清屏
函数名: clrscr
功 能: 清除文本模式窗口
用 法: void clrscr(void);
程序例:

#include <conio.h>

int main(void)
{
int i;

clrscr();
for (i = 0; i < 20; i++)
cprintf("%d\r\n", i);
cprintf("\r\nPress any key to clear screen");
getch();

clrscr();
cprintf("The screen has been cleared!");
getch();

return 0;
}


----------------解决方案--------------------------------------------------------
哦,不过在VC++里面有时也要清屏呀,
用的是 fflush(stdin);
呵呵......
----------------解决方案--------------------------------------------------------

请记住,scanf没有printf的一样的格式\n,只能有数据控制符而已


----------------解决方案--------------------------------------------------------
scanf("\n3.2f",&b);
应该是scanf ("\n%3.2f,&b); 吧!
----------------解决方案--------------------------------------------------------
  相关解决方案