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会把第一位数当做字符跳过,注意把回车处理掉,当前面有输入操作时。
#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位之前的数字
}
#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;
}
应该可以吧 没测试
很好!谢谢,已经给你评价!
#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里面的?