注册 登录
编程论坛 C++教室

怎样重复输入a、b的值,计算a*b,并输出小数点后六位

安婧 发布于 2016-09-19 23:31, 2372 次点击
怎样重复输入a、b的值,计算a*b,并输出小数点后六位?我自己写的是
double a,b,c;
cin>>a>>b;
while (c>=0)
{c=a*b;
printf(%6lf\n,c);
cin>>a>>b;}
请问有什么问题吗?或者有更好的方法吗?
3 回复
#2
仰望星空的2016-09-20 09:01
这不会让你重复输入ab的,只要c满足条件,就会一直运行~
我觉得while里面写cin>>a>>b的循环应该。
#3
书生牛犊2016-09-20 09:34
double a,b,c;
while(cin>>a>>b){//cin会返回一个值,表示这次读写有没有成功
c=a*b;
printf(%.6lf\n,c);//加个小数点就能控制保留小数点后面多少位小数



--------------------------
结束输出的时候要记得windows  (回车)Ctrl+Z(回车)   Linux  ...我忘了。


[此贴子已经被作者于2016-9-20 09:35编辑过]

#4
rjsp2016-09-20 16:23
double a,b,c;
cin>>a>>b;
while (c>=0)
{c=a*b;
printf(%6lf\n,c);
cin>>a>>b;}
cin>>a>>b; 重复了两次,这种冗余错误如果发生在工作岗位上,你已经进了下一波的裁员名单了
while (c>=0) 一开始 c 还没赋值就是用,如果在公司,HR会立即通知你明天不用来了

程序代码:
#include <iostream>
#include <cstdio>
using namespace std;

int main( void )
{
    for( double a,b; cin>>a>>b && a*b>=0; )
        printf( "%.6f\n", a*b ); // 真不建议一会儿用C++的cin,一会用C的printf
}

1