C语言程序设计:已知直角三角形两直角边a,b,设计程序求出斜边c,结果保留一位小数。

如题所述

代码如下:

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

int main()

{

double a, b, c;

cout << "请输入边长a;";

cin >> a;

cout << "请输入边长b;";

cin >> b;

c = sqrt(a*a + b * b);

cout << setiosflags(ios::fixed) << setprecision(2) << "第三边的长度为" << c << endl;

}

return 0;

}

扩展资料

c语言输出保留任意小数:

printf("%.nlf",value); //表示保留n位小数;

printf("%.*f",n,value); // n表示小数的位数,value表示结果;

printf("%m.nlf",value); //表示控制宽度为m,保留n为小数,靠右对齐;

printf("%-m.nlf",value); //表示控制宽度为m,保留n为小数,靠左对齐//当控制宽度小于数值的位数时,将以实际数值宽度为准;

printf("%.lf",value); //表示保留整数;

scanf("\n%*c%d",&value); //这么做,会跳过第一位数,从第二位数开始读// 符号*起到跳过一位字符从下一位开始读的作用,%*c会把第一位数当做字符跳过,注意把回车处理掉,当前面有输入操作时。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
#include<stdio.h>
#include<math.h>

void main()
{ double a,b,c;
scanf("%lf %lf",&a,&b);
c=sqrt(a*a+b*b);
c+=0.05; //四舍五入
printf("%.1lf\n",c); //仅输出小数点后1位之前的数字

}本回答被网友采纳
第2个回答  2013-10-15
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c;
scanf("%f%f",&a,&b);
c=sqrt(a*a+b*b);
printf("%.1f",c);
return 0;
}

应该可以吧 没测试追问

很好!谢谢,已经给你评价!

第3个回答  2013-10-15
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a,b;
double c;
scanf("%d %d",&a,&b);
c=sqrt(a*a+b*b);
printf("%.1f",c);
return 0;
}追问

请问,第二行和最后一行啥意思?

追答

总的第二行还是int main里面的?

追问

总的。

请问,第二行和最后一行啥意思?