信息学奥赛一本通 第一部分 第二章 顺序结构程序设计 第一到三节

第一节 运算符和表达式

1006 A+B问题

【题目描述】
大部分的在线题库,都会将A+B问题作为第一题,以帮助新手熟悉平台的使用方法。

A+B问题的题目描述如下:给定两个整数A和B,输出A+B的值。保证A、B及结果均在整型范围内。现在请你解决这一问题。

【输入】
一行,包含两个整数A,B,中间用单个空格隔开。A和B均在整型范围内。

【输出】
一个整数,即A+B的值。保证结果在整型范围内。

#include<iostream>
using namespace std;
int main(){
	long long a,b;
	cin>>a>>b;
	cout<<a+b;
	return 0;
}

1007 计算(a+b)* c的值

【题目描述】
给定33个整数a、b、ca、b、c,计算表达式(a+b)×c(a+b)×c的值。

【输入】
输入仅一行,包括三个整数a、b、ca、b、c, 数与数之间以一个空格分开。(-10,000<a,b,c<10,000)(-10,000<a,b,c<10,000)
【输出】
输出一行,即表达式的值。

#include<iostream>
using namespace std;
int main(){
	long long a,b,c;
	cin>>a>>b>>c;
	cout<<(a+b)*c;
	return 0;
}

1008 计算(a+b)/c的值

【题目描述】
给定33个整数a、b、ca、b、c,计算表达式a+bca+bc的值。

【输入】
输入仅一行,包括三个整数a、b、ca、b、c, 数与数之间以一个空格分开。(-10,000<a,b,c<10,000-10,000<a,b,c<10,000, cc不等于00)

【输出】
输出一行,即表达式的值。

#include<iostream>
using namespace std;
int main(){
	long long a,b,c;
	cin>>a>>b>>c;
	cout<<(a+b)/c;
	return 0;
}

1009 带余除法

【题目描述】
给定被除数和除数,求整数商及余数。此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。

【输入】
一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔开。

【输出】
一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。

#include<iostream>
using namespace std;
int main(){
	long long a,b;
	cin>>a>>b;
	cout<<a/b<<" "<<a%b;
	return 0;
}

1010 计算分数的浮点数值

【题目描述】
两个整数a和b分别作为分子和分母,既分数a/b,求它的浮点数值(双精度浮点数,保留小数点后9位)。

【输入】
输入仅一行,包括两个整数a和b。

【输出】
输出也仅一行,分数a/b 的浮点数值(双精度浮点数,保留小数点后9位)。

#include<iostream>
#include<cstdio> 
using namespace std;
int main(){
	long long a,b;
	double s;
	cin>>a>>b;
	s=a*1.0/b;
	printf("%.9lf",s);
	return 0;
}

第二节 常量和变量

1011 甲流疫情死亡率

【题目描述】
甲流并不可怕,在中国,它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在各省的死亡率。

【输入】
输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。

【输出】
输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。

#include<iostream>
#include<cstdio> 
using namespace std;
int main(){
	long long a,b;
	double s;
	cin>>a>>b;
	s=b*1.0/a;
	printf("%.3lf",s*100);
	cout<<"%";
	return 0;
}

1012 计算多项式的值

【题目描述】
对于多项式f(x)=ax3+bx2+cx+df(x)=ax3+bx2+cx+d和给定的a,b,c,d,xa,b,c,d,x,计算f(x)f(x)的值,保留到小数点后77位。

【输入】
输入仅一行,包含55个实数,分别是xx,及参数a、b、c、da、b、c、d的值,每个数都是绝对值不超过100100的双精度浮点数。数与数之间以一个空格分开。

【输出】
输出一个实数,即f(x)f(x)的值,保留到小数点后77位。

#include<iostream>
#include<cstdio> 
#include<cmath>
using namespace std;
int main(){
	double a,b,c,d,x;
	double s;
	cin>>x>>a>>b>>c>>d;
	s=pow(x,3)*a+pow(x,2)*b+x*c+d;
	printf("%.7lf",s);
	return 0;
}

1013 温度表达转化

【题目描述】
利用公式 C=5×(F−32)÷9C=5×(F−32)÷9(其中CC表示摄氏温度,FF表示华氏温度)进行计算转化,输入华氏温度FF,输出摄氏温度CC,要求精确到小数点后55位。

【输入】
输入一行,包含一个实数FF,表示华氏温度。(F≥−459.67)(F≥−459.67)
【输出】
输出一行,包含一个实数,表示对应的摄氏温度,要求精确到小数点后55位。

#include<iostream>
#include<cstdio> 
using namespace std;
int main(){
	double a;
	double s;
	cin>>a;
	s=(a-32)*5/9;
	printf("%.5lf",s);
	return 0;
}

1014 与圆相关的计算

【题目描述】
给出圆的半径,求圆的直径、周长和面积。输入圆的半径实数r,输出圆的直径、周长、面积,每个数保留小数点后4位。圆周率取值为3.14159。

【输入】
输入包含一个实数r(0 < r ≤ 10,000),表示圆的半径。

【输出】
输出一行,包含三个数,分别表示圆的直径、周长、面积,数与数之间以一个空格分开,每个数保留小数点后4位。

#include<iostream>
#include<cstdio>
#define P 3.14159;  //宏定义
using namespace std;
int main(){
	double r,d,s,c;
	cin>>r;
	d=2.0*r;
	s=r*(r*1.0)*P;
	c=r*2.0*P;
	printf("%.4lf %.4lf %.4lf",d,c,s);
	return 0;
}

1015 计算并联电阻的阻值

【题目描述】
对于阻值为 r1r1 和 r2r2 的电阻,其并联电阻阻值公式计算如下:R=11r1+1r2R=11r1+1r2。输入两个电阻阻抗大小,浮点型。输出并联之后的阻抗大小,结果保留小数点后22位。

【输入】
两个电阻阻抗大小,浮点型,以一个空格分开。

【输出】
并联之后的阻抗大小,结果保留小数点后22位。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	double r1,r2,r;
	cin>>r1>>r2;
	r=1.0/(1.0/r1+1.0/r2);
	printf("%.2lf",r);
	return 0;
}

第三节 标准数据类型

1016 整型数据类型存储空间大小

【题目描述】
分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。

【输入】
(无)

【输出】
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	int a;
	short b;
	cout<<sizeof(a)<<" "<<sizeof(b);
	return 0;
}

1017 浮点型数据类型存储空间大小

【题目描述】
分别定义float,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。

【输入】
(无)

【输出】
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	float a;
	double b;
	cout<<sizeof(a)<<" "<<sizeof(b);
	return 0;
}

1018 其他数据类型存储空间大小

【题目描述】
分别定义bool,char类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。

【输入】
(无)

【输出】
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	bool a;
	char b;
	cout<<sizeof(a)<<" "<<sizeof(b);
	return 0;
}

1019 浮点数向零舍入

【题目描述】
输入一个单精度浮点数,将其向零舍入到整数。说明:向零舍入的含义是,正数向下舍入,负数向上舍入。提示:可以使用强制类型转换来实现。

【输入】
一个单精度浮点数。

【输出】
一个整数,即向零舍入到整数的结果。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	float a;
	cin>>a;
	cout<<(int)(a);  //强制类型转换
	return 0;
}

1020 打印ASCII码

【题目描述】
输入一个除空格以外的可见字符(保证在函数scanf中可使用格式说明符%c读入),输出其ASCII码。

【输入】
一个除空格以外的可见字符。

【输出】
一个十进制整数,即该字符的ASCII码。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	char a;
	cin>>a;
	cout<<(int)a;
	return 0;
}

1021 打印字符

【题目描述】
输入一个整数,即字符的ASCII码,保证存在对应的可见字符。输出相对应的字符。

【输入】
一个整数,即字符的ASCII码,保证存在对应的可见字符。

【输出】
一行,包含相应的字符。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	int a;
	cin>>a;
	cout<<(char)a;
	return 0;
}

1022 整型与布尔型的转换

【题目描述】
将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?

【输入】
一个整型范围内的整数,即初始时整型变量的值。

【输出】
一个整数,经过上述过程后得到的结果。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	int a;
	bool n;
	cin>>a;
	n=a;
	cout<<(int)n;
	return 0;
}

1023 Hello,World!的大小

【题目描述】
我们曾经输出过的“Hello, World!”吗?它虽然不是本章所涉及的基本数据类型的数据,但我们同样可以用sizeof函数获得它所占用的空间大小。

【输入】
(无)

【输出】
一个整数,即“Hello, World!”的大小。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	cout<<sizeof("Hello, World!");
	return 0;
}

End
PS:2019.8.6 全部AC

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值