(1)题目描述
一个学生考了数学、英语、语文三门课程,求总分和平均分。
输入格式
输入存在多组测试数据,对于每组测试数据:
输入一行包含三个整数,表示数学、英语、语文分数。
输出格式
对于每组测试数据,输出两行,第一行输出他们的总分
第二行输出他们的平均分,其中平均分保留两位小数。
输入样例
90 85 90
100 100 100
输出样例
265
88.33
300
100.00
#include<iostream>
#include<cmath>
#include<string>
#include<string.h>
#include<cstdio>
#include<iomanip>
using namespace std;
typedef unsigned long long ull;
int main()
{
ull n;
double a,b,c;
while(cin>>a>>b>>c)
{
cout<<a+b+c<<endl;
cout<<fixed<<setprecision(2)<<(a+b+c)/3.0<<endl;
}
retun 0;
}
(2)题目描述
1724年,德国人华伦海特制定了华氏温标,他把一定浓度的盐水凝固时的温度定为0℉,把纯水的冰点温度定为32 ℉。
把标准大气压下水的沸点温度定为212℉,中间分为180等份,每一等份代表1度,这就是华氏温标,用符号F表示。
而摄氏温度是C,冰点时温度为0摄氏度,沸点为100摄氏度。
请编程把华氏温度转成摄氏温度。转换公式是:c=(f-32)*5/9。
输入格式
输入有若干行,每行一个浮点数f代表华氏温度的度数。数字在[-100.00,212.00]之间。
输出格式
对于每个华氏温度输出一行,输出格式为:fF = cC。
其中f是输入的华氏温度的度数,c是对应的摄氏温度的度数。精确到小数点后两位。
输入样例
32.00
98.00
0.00
输出样例
32.00F = 0.00C
98.00F = 36.67C
0.00F = -17.78C
#include<iostream>
#include<cmath>
#include<string>
#include<string.h>
#include<cstdio>
using namespace std;
typedef unsigned long long ull;
int main()
{
ull n;
ull a,b,c;
ull sum=0;
double num,total=0;
while(cin>>num)
{
printf("%.2lfF = %.2lfC\n",num,(num-32)*5/9.0);
//这个用c方便些
}
return 0;
}
(3)题目描述
给出圆的半径,请求出圆的面积。PI用3.14159。半径用double类型。
输入格式
先输入一个整数N(1<=N<=10),表示有N种情况。
接着N行,每行一个数,表示圆的半径
输出格式
先输出"Case id:",id表示第几种情况,接着输出相应的圆的面积。结果保留3位小数。
输入样例
3
2
1.1
70
输出样例
Case 1: 12.566
Case 2: 3.801
Case 3: 15393.791
#include <iostream>
#include <iomanip>
#include<cstdio>
using namespace std;
typedef unsigned long long ull;
const ull MOD=0x3f3f3f3f3f;
const double PI=3.14159;
int main()
{
int n;
cin>>n;
int i,j,k=1;
while(n--)
{
double num;
cin>>num;
cout<<"Case "<<k<<": "<<fixed<<setprecision(3)<<PI*num*num<<endl;
k++;
}
return 0;
}
(4)题目描述
已知平行四边形ABCD中的三个点ABC,请编程求出第四个点D。
输入格式
输入有若干行,每行有6个整数,a1,a2,b1,b2,c1,c2。
表示A(a1,a2),B(b1,b2),C(c1,c2)。
输出格式
输出D的坐标,格式见样例。
输入样例 复制
5 0 0 0 1 1
3 2 5 4 4 5
这道题有点问题,没有说明是什么规律,这个答案应该不唯一才对(应该在加个说明)
不过观察一下也不难得出
#include <iostream>
#include <iomanip>
#include<cstdio>
using namespace std;
typedef unsigned long long ull;
const ull MOD=0x3f3f3f3f3f;
const double PI=3.14159;
int main()
{
int x1,x2,x3,x;
int y1,y2,y3,y;
while(cin>>x1>>y1>>x2>>y2>>x3>>y3)
cout<<"D("<<x1+x3-x2<<","<<y1+y3-y2<<")"<<endl;
return 0;
}
(5)题目描述
平面上有三个点A、B、C,求∠ABC的大小
输入格式
输入有若干行,每行有6个实数x1,y1,x2,y2,x3,y3。
表示平面上的三个点A(x1,y1),B(x2,y2),C(x3,y3)。
输出格式
输出∠ABC的大小,单位为度(0~180),结果保留两位小数。
输入样例
3 0 0 0 0 1
-5 0 0 0 1 1
输出样例
90.00
135.00
tips:对于 value = sin(angle)
angle=(value*180)/PI;
#include <iostream>
#include <iomanip>
#include<cstdio>
#include<cmath>
using namespace std;
typedef unsigned long long ull;
const ull MOD=0x3f3f3f3f3f;
const double PI=3.14159;
int main()
{
double x1,x2,x3,x;
double y1,y2,y3,y;
//fix
//double a,b,c,d;
double sum=0,sum1,sum2,sum3;
//错误 1 1 0 0 1 0
while(cin>>x1>>y1>>x2>>y2>>x3>>y3)
{
sum1=sqrt(pow(x1-x2,2)+pow(y1-y2,2));
sum2=sqrt(pow(x3-x2,2)+pow(y3-y2,2));
sum3=sqrt(pow(x1-x3,2)+pow(y3-y1,2));//sum3 把 y1 写成y2了
//cout<<sum1<<endl<<sum2<<endl<<sum3<<endl;
//sum3是对边
double coso=(sum1*sum1+sum2*sum2-sum3*sum3)/(2*sum1*sum2);
//cout<<coso<<endl;
cout<<fixed<<setprecision(2)<<acos(coso)/PI*180<<endl;
//反三角函数直接变成值了
//cout<<acos(0);
//根据cos的值求角度!!!
}
}
(6)题目描述
floor(celi)与保留小数的应用
计算表达式x^y的值,分别输出它们的整数部分和小数部分。
输入格式
输入有若干行,每行两个浮点数x、y。
输出格式
当x<0时,输出"NO",否则就输出x^y的整整部分和小数部分。小数部分按%lf格式输出。
如12.345的输出为"12 0.345000".
输入样例
1.1 2
3.6 7.8
-3 0.5
输出样例
1 0.210000
21835 0.317236
NO
#include <iostream>
#include <iomanip>
#include<cstdio>
#include<cmath>
using namespace std;
typedef unsigned long long ull;
const ull MOD=0x3f3f3f3f3f;
const double PI=3.14159;
long long time_plus(int a,int b)
{
long long ans=1;
while(b)
{
if(b&1)
{
ans*=a;
}
a*=a;
b>>1;
}
return ans;
}
int main()
{
double x,y;
while(cin>>x>>y)
{
if(x<0)
{
cout<<"NO"<<endl;
}
else
{
double temp=pow(x,y);
//floor
cout<<floor(temp)<<" "<<fixed<<setprecision(6)<<temp-floor(temp)<<endl;
cout.unsetf(ios::fixed);
}
}
}