A+B问题的题目描述如下:给定两个整数A和B,输出A+B的值。保证A、B及结果均在整型范围内。现在请你解决这一问题。
输入:
一行,包含两个整数A,B,中间用单个空格隔开。A和B均在整型范围内。
输出:
一个整数,即A+B的值。保证结果在整型范围内。
样例输入:
1 2
样例输出:
3
#include
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b;
c=a+b;
cout<<c<<endl;
return 0;
}
给定3个整数a、b、c,计算表达式(a+b)*c的值。
输入:
输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。
(-10,000 输出:
输出一行,即表达式的值
样例输入:
2 3 5
样例输出:
25
#include
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b>>c;
d=(a+b)*c;
cout<<d<<endl;
return 0;
}
给定3个整数a、b、c,计算表达式(a+b)/c的值,/是整除运算。
输入;
输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。(-10,000 < a,b,c < 10,000, c不等于0)
输出:
输出一行,即表达式的值。
样例输入:
1 1 3
样例输出:
0
#include
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b>>c;
d=(a+b)/c;
cout<<d<<endl;
return 0;
}
给定被除数和除数,求整数商及余数。此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。
输入:
一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔开。
输出:
一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。
样例输入:
10 3
样例输出:
3 1
#include
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b;
c=a/b;
cout<<c<<endl;
d=a%b;
cout<<d<<endl;
return 0;
}
两个整数a和b分别作为分子和分母,既分数a/b,求它的浮点数值(双精度浮点数,保留小数点后9位)。
输入:
输入仅一行,包括两个整数a和b。
输出:
输出也仅一行,分数 a/b 的浮点数值(双精度浮点数,保留小数点后9位)。
样例输入:
5 7
样例输出:
0.714285714
#include
#include
using namespace std;
int main()
{
double a,b; //必须是double类型,int会出错
double c;
cin>>a>>b;
c=a/b;
//cout<
printf("c=%.9lf\n",c); //%.9lf是double型,保留小数点后9位
return 0;
}
甲流并不可怕,在中国,它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在各省的死亡率。
输入:
输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。
输出:
输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。
样例输入:
10433 60
样例输出:
0.575%
#include
#include
using namespace std;
int main()
{
int a,b;
scanf("%d%d",&a,&b);
double c;
c=(double)b*100/a;
printf("死亡率=%.3lf%%",c);
return 0;
}
对于多项式f(x) = ax3+bx2+cx+d和给定的a,b,c,d,x,计算f(x)的值,保留到小数点后7位。
输入:
输入仅一行,包含5个实数,分别是x,及参数a、b、c、d的值,每个数都是绝对值不超过100的双精度浮点数。数与数之间以一个空格分开。
输出:
输出一个实数,即f(x)的值,保留到小数点后7位。
样例输入:
2.31 1.2 2 2 3
样例输出:
33.0838692
#include
#include
using namespace std;
int main()
{
double a,b,c,d,x,y;
cin>>x>>a>>b>>c>>d; //与scanf结果一样,但这个语句简单
//scanf("%lf %lf %lf %lf %lf",&x,&a,&b,&c,&d);
y=a*pow(x,3)+b*pow(x,2)+c*x+d;
printf("%.7lf",y);
return 0;
}
利用公式C = 5*(F-32)/9(其中C表示摄氏温度,F表示华氏温度)进行计算转化,输入华氏温度f,输出摄氏温度c,要求精确到小数点后5位。
输入:
输入一行,包含一个实数f,表示华氏温度。(f >= -459.67)
输出:
输出一行,包含一个实数,表示对用的摄氏温度,要求精确到小数点后5位。
样例输入:
41
样例输出:
5.00000
#include
using namespace std;
int main()
{
double f,c;
cin>>f;
c=5*(f-32)/9;
printf("%.5lf",c);
return 0;
}
给出圆的半径,求圆的直径、周长和面积。输入圆的半径实数r,输出圆的直径、周长、面积,每个数保留小数点后4位。
输入:
输入包含一个实数r(0 < r <= 10,000),表示圆的半径。
输出:
输出一行,包含三个数,分别表示圆的直径、周长、面积,数与数之间以一个空格分开,每个数保留小数点后4位。
样例输入:
3.0
样例输出:
6.0000 18.8495 28.2743
#include
#include //含setprecision的声明
#include //含pow声明
using namespace std;
int main()
{
double r,a,l,s,pi=3.14159;
cin>>r;
a=2*r;
l=pi*a;
s=pi*pow(r,2);
//printf("%.4lf %.4lf %.4lf",a,l,s);
cout<<fixed<<setprecision(4)<<a<<" "<<l<<" "<<s<<endl;
return 0;
}
对于阻值为r1和r2的电阻,其并联电阻阻值公式计算如下:R = 1/(1/r1 + 1/r2)。输入两个电阻阻抗大小,浮点型。输出并联之后的阻抗大小,结果保留小数点后2位。
输入:
两个电阻阻抗大小,浮点型,以一个空格分开。
输出:
并联之后的阻抗大小,结果保留小数点后2位
样例输入:
1 2
样例输出:
0.67
#include
#include
using namespace std;
int main()
{
float r1,r2,r;
cin>>r1>>r2;
r=1/(1/r1+1/r2);
//cout<
printf("%.2f",r); //与cout一样效果
}
分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
输入:
无。
输出:
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
#include
using namespace std;
int main()
{
int a;
short b;
cout<<sizeof(a)<<" "<<sizeof(b)<<endl;
return 0;
}
分别定义float,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
输入:
无。
输出:
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
#include
using namespace std;
int main()
{
float a;
double b;
cout<<sizeof(a)<<" "<<sizeof(b)<<endl;
return 0;
}
分别定义bool,char类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
输入:
无。
输出:
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
#include
using namespace std;
int main()
{
bool a;
char b;
cout<<sizeof(a)<<" "<<sizeof(b)<<endl;
}
输入一个单精度浮点数,将其向零舍入到整数。说明:向零舍入的含义是,正数向下舍入,负数向上舍入。提示:可以#使用强制类型转换来实现。
输入: 输出:
一个单精度浮点数。 一个整数,即向零舍入到整数的结果。
样例输入:
2.3
样例输出:
2
#include
using namespace std;
int main()
{
float a;
cin>>a;
cout<<int(a);
//直接强制转换成整型即可,要用floor不对(负数答案不对)
return 0;
}
输入一个除空格以外的可见字符(保证在函数scanf中可使用格式说明符%c读入),输出其ASCII码。
输入:
一个除空格以外的可见字符。
输出:
一个十进制整数,即该字符的ASCII码。
样例输入:
A
样例输出:
65
#include
using namespace std;
int main()
{
char a;
scanf("%c",&a);
printf("%d",a);
return 0;
}
输入一个整数,即字符的ASCII码,保证存在对应的可见字符。输出相对应的字符。
输入:
一个整数,即字符的ASCII码,保证存在对应的可见字符。
输出:
一行,包含相应的字符。
样例输入:
65
样例输出:
A
#include
using namespace std;
int main()
{
int a;
cin>>a;
char b=a;
cout<<b<<endl;
return 0;
}
将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?
输入:
一个整型范围内的整数,即初始时整型变量的值。
输出:
一个整数,经过上述过程后得到的结果。
样例输入:
3
样例输出:
1
#include
using namespace std;
int main()
{
int a;
bool b;
cin>>a;
b=a;
cout<<int(b);
return 0;
}
在上一章里,我们曾经输出过的“Hello, World!”吗?它虽然不是本章所涉及的基本数据类型的数据,但我们同样可以用sizeof函数获得它所占用的空间大小。
输入:
无。
输出:
一个整数,即“Hello, World!”的大小。
#include
using namespace std;
int main()
{
printf("%d",sizeof("Hello,World!"));
return 0;
}
读入一个单精度浮点数,保留3位小数输出这个浮点数。
输入:
只有一行,一个单精度浮点数。
输出:
也只有一行,读入的单精度浮点数。
样例输入:
12.34521
样例输出:
12.345
#include //cin和cout只能调用iostream库
using namespace std;
int main()
{
float a;
scanf("%f",&a);
printf("%.3f",a);
return 0;
}
读入一个双精度浮点数,保留12位小数,输出这个浮点数。
输入:
只有一行,一个双精度浮点数。
输出:
也只有一行,保留12位小数的浮点数。
样例输入:
3.1415926535798932
样例输出:
3.141592653580
#include
using namespace std;
int main()
{
double a;
scanf("%lf",&a);
printf("%.12lf",a);
return 0;
}
读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输出浮点数时保留6位小数。
输入:
第一行是一个字符;
第二行是一个整数;
第三行是一个单精度浮点数;
第四行是一个双精度浮点数。
输出:
输出字符、整数、单精度浮点数和双精度浮点数,之间用空格分隔。
样例输入: 样例输出:
a a 12 2.300000 3.200000
12
2.3
3.2
#include
using namespace std;
int main()
{
char a;
int b;
float c;
double d;
scanf("%c\n%d\n%f\n%lf",&a,&b,&c,&d); //最后一个不用加换行符
printf("%c %d %.6f %.6lf",a,b,c,d);
return 0;
}
读入一个双精度浮点数,分别按输出格式“%f”,“%f”保留5位小数,“%e”和“%g”的形式输出这个整数,每次在单独一行上输出。
输入:
一个双精度浮点数。
输出:
第一行是按“%f”输出的双精度浮点数;
第二行是按“%f”保留5位小数输出的双精度浮点数;
第三行是按“%e”输出的双精度浮点数;
第四行是按“%g”输出的双精度浮点数。
样例输入:
12.3456789
样例输出:
12.345679
12.34568
1.234568e+001
12.3457
#include
using namespace std;
int main()
{
double a;
scanf("%lf",&a);
printf("%f\n",a);
printf("%.5f\n",a);
printf("%e\n",a);
printf("%g",a);
//printf("%f\n%.5f\n%e\n%g",a);
//这个结果是错误的
return 0;
}
给定一个字符,用它构造一个对角线长5个字符,倾斜放置的菱形。
输入:
输入只有一行, 包含一个字符。
输出:
该字符构成的菱形。
样例输入:
*
样例输出:
*
*
#include
using namespace std;
int main()
{
char a;
scanf("%c",&a);
printf(" %c\n",a);
printf(" %c%c%c\n",a,a,a);
printf("%c%c%c%c%c\n",a,a,a,a,a);
printf(" %c%c%c\n",a,a,a);
printf(" %c",a);
return 0;
}
计算两个双精度浮点数a和b的相除的余数,a和b都是双精度浮点数。这里余数(r)的定义是:a=k*b+r,其中k是整数,0<=r
输入:
输入仅一行,包括两个双精度浮点数a和b。
输出:
输出也仅一行,a÷b的余数
样例输入:
73.263 0.9973
样例输出:
0.4601
#include
#include
using namespace std;
int main()
{
double a,b,r;
int k;
scanf("%lf%lf",&a,&b);
k=a/b;
r=a-(k*b);
printf("%.4lf",r);
return 0;
}
对于半径为r的球,其体积的计算公式为V=4/3*πr3,这里取π=3.14。现给定r,即球半径,类型为double,求球的体积V,保留到小数点后2位。
输入:
输入为一个不超过100的非负实数,即球半径,类型为double。
输出:
输出一个实数,即球的体积,保留到小数点后2位。
样例输入:
4
样例输出:
267.95
#include
#include
#include
#define pi 3.14
using namespace std;
int main()
{
double r,v;
cin>>r;
v=(4*pi*pow(r,3))/3;
printf("%.2lf",v);
return 0;
}
将一个三位数反向输出,例如输入358,反向输出853。
输入:
一个三位数n。
输出:
反向输出n。
样例输入:
100
样例输出:
001
#include
#include
using namespace std;
int main()
{
int x,a,b,c,n;
cin>>x;
a=x/100; //百位
b=(x/10)%10; //十位
c=x%10; //个位
n=c*100+b*10+a;
cout<<n<<endl;
return 0;
}
一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。问大象至少要喝多少桶水才会解渴。
输入:
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深h和底面半径r,单位都是厘米。
输出:
输出一行,包含一个整数,表示大象至少要喝水的桶数。
样例输入:
23 11
样例输出:
3
#include
#include
#include
using namespace std;
int main()
{
int h,r;
double x,y,pi=3.14;
cin>>h>>r;
x=(pi*pow(r,2)*h)/1000;
y=20/x;
cout<<ceil(y)<<endl; //ceil向上取整
return 0;
}
已知线段的两个端点的坐标A(Xa,Ya),B(Xb,Yb),求线段AB的长度,保留到小数点后3位。
输入:
第一行是两个实数Xa,Ya,即A的坐标。
第二行是两个实数Xb,Yb,即B的坐标。
输入中所有实数的绝对值均不超过10000。
输出:
一个实数,即线段AB的长度,保留到小数点后3位。
样例输入:
1 1
2 2
样例输出:
1.414
#include
#include
#include
#include
using namespace std;
int main()
{
double x1,x2,y1,y2,l;
cin>>x1>>y1;
cin>>x2>>y2;
l=sqrt(pow(y1-y2,2)+pow(x1-x2,2));
cout<<fixed<<setprecision(3)<<l<<endl;
return 0;
}
平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少,精确到小数点后两位。
输入:
输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3。
输出:
输出也是一行,输出三角形的面积,精确到小数点后两位。
样例输入:
0 0 4 0 0 3
样例输出:
6.00
#include
#include
#include
#include
using namespace std;
int main()
{
double x1,y1,x2,y2,x3,y3;
double l1,l2,l3,p,s;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
l1=sqrt(pow(y1-y2,2)+pow(x1-x2,2));
l2=sqrt(pow(y1-y3,2)+pow(x1-x3,2));
l3=sqrt(pow(y2-y3,2)+pow(x2-x3,2));
p=(l1+l2+l3)/2;
s=sqrt(p*(p-l1)*(p-l2)*(p-l3));
cout<<fixed<<setprecision(2)<<s<<endl;
return 0;
}
输入两个正整数A和B,求A*B的值。注意乘积的范围和数据类型的选择。
输入:
一行,包含两个正整数A和B,中间用单个空格隔开。1 <= A,B <= 50000。
输出:
一个整数,即A*B的值。
样例输入:
3 4
样例输出:
12
#include
using namespace std;
int main()
{
long long a,b,s;
cin>>a>>b;
s=a*b;
cout<<s<<endl;
return 0;
}
给定非负整数n,求2^n的值,即2的n次方。
输入:
一个整数n。0 <= n < 31。
输出:
一个整数,即2的n次方。
样例输入:
3
样例输出:
8
#include
#include
using namespace std;
int main()
{
int n,s;
cin>>n;
s=pow(2,n);
cout<<s<<endl;
return 0;
}
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
输入:
输入仅一行,包括n,x和y(均为整数)。
输出:
输出也仅一行,剩下的苹果个数
样例输入:
10 4 9
样例输出:
7
#include
#include
#include
using namespace std;
int main()
{
double n,x,y,s; //int型会出错
cin>>n>>x>>y;
s=n-ceil(y/x);
cout<<s<<endl;
return 0;
}
给定三条线段的长度,判断这三条线段是否能够构成三角形。如果能够构成,则计算其面积。
输入:
输入只有一行,包含三个浮点数,分别表示三角形三边的边长,数与数之间以一个空格分开。
输出:
对于可以构成三角形的情况,输出三角形的面积,保留4位小数。
对于不能构成三角形的情况, 输出“Data Error”。
样例输入:
3 4 5
样例输出:
6.0000
#include
#include
using namespace std;
int main()
{
double a,b,c,p,s;
scanf("%lf%lf%lf",&a,&b,&c); //输入三边长度
p=(a+b+c)/2; //海伦公式
if(a+b<=c||b+c<=a||a+c<=b)
printf("Data Error\n");
else
{
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.4lf\n",s);
}
return 0;
}