第一节 运算符和表达式
T1006 : A+B问题
【题目描述】
大部分的在线题库,都会将A+B问题作为第一题,以帮助新手熟悉平台的使用方法。
A+B问题的题目描述如下:给定两个整数A和B,输出A+B的值。保证A、B及结果均在整型范围内。现在请你解决这一问题。
【输入】
一行,包含两个整数A,B,中间用单个空格隔开。A和B均在整型范围内。
【输出】
一个整数,即A+B的值。保证结果在整型范围内。
【输入样例】
1 2
【输出样例】
3
【答案&代码】
#include<stdio.h> int main(void){ int a,b; scanf("%d%d",&a,&b); printf("%d",a+b); return 0; }
T1007 : 计算(a+b)×c的值
【题目描述】
给定3个整数a、b、c,计算表达式(a+b)×c的值。
【输入】
输入仅一行,包括三个整数a、b、c,数与数之间以一个空格分开。(-10,000<a,b,c<10,000)
【输出】
输出一行,即表达式的值。
【输入样例】
2 3 5
【输出样例】
25
【答案&代码】
#include<stdio.h> int main(void){ int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d",(a+b)*c); return 0; }
T1008 : 计算(a+b)/c的值
【题目描述】
给定3个整数a、b、c,计算表达式(a+b)/c的值。
【输入】
输入仅一行,包括三个整数a、b、c,数与数之间以一个空格分开。(-10,000<a,b,c<10,000)
【输出】
输出一行,即表达式的值。
【输入样例】
1 1 3
【输出样例】
0
【答案&代码】
#include<stdio.h> int main(void){ int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d",(a+b)/c); return 0; }
T1009 : 带余除法
【题目描述】
给定被除数和除数,求整数商及余数。此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。
【输入】
一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔开。
【输出】
一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。
【输入样例】
10 3
【输出样例】
3 1
【答案&代码】
#include<stdio.h> int main(void){ int a,b; scanf("%d%d",&a,&b); printf("%d %d",a/b,a%b); return 0; }
T1010 : 计算分数的浮点数值
【题目描述】
两个整数a和b分别作为分子和分母,既分数a/b,求它的浮点数值(双精度浮点数,保留小数点后9位)。
【输入】
输入仅一行,包括两个整数a和b。
【输出】
输出也仅一行,分数 a/b 的浮点数值(双精度浮点数,保留小数点后9位)。
【输入样例】
5 7
【输出样例】
0.714285714
【答案&代码】
#include<stdio.h> int main(void){ double a,b; scanf("%lf%lf",&a,&b); printf("%.9f",a/b); return 0; }
第二节 常量与变量
T1011 : 甲流疫情死亡率
【题目描述】
甲流并不可怕,在中国,它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在各省的死亡率。
【输入】
输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。
【输出】
输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。
【输入样例】
10433 60
【输出样例】
0.575%
【答案&代码】
根据题意可得,死亡率=死亡数/确诊数*100%。
若设确诊数为a,死亡数为b,则死亡率(百分比形式)为b/a*100+'%'。
字符'%'在标准输入输出中用"%%"表示。
#include<stdio.h> int main(void){ double a,b; scanf("%lf%lf",&a,&b); printf("%.3f%%",b/a*100); return 0; }
T1012 : 计算多项式的值
【题目描述】
对于多项式f(x)=ax^3+bx^2+cx+d和给定的a,b,c,d,x,计算f(x)的值,保留到小数点后7位。
【输入】
输入仅一行,包含1个实数,分别是x,及参数a、b、c、d的值,每个数都是绝对值不超过100的双精度浮点数。数与数之间以一个空格分开。
【输出】
输出一个实数,即f(x)的值,保留到小数点后7位。
【输入样例】
2.31 1.2 2 2 3
【输出样例】
33.0838692
【答案&代码】
#include<stdio.h> #include<math.h> int main(void){ double a,b,c,d,x; scanf("%lf%lf%lf%lf%lf",&x,&a,&b,&c,&d); double ans=a*pow(x,3)+b*x*x+c*x+d; printf("%.7f",ans); return 0; }
T1013 : 温度表达转化
【题目描述】
利用公式 C=5×(F-32)÷9(其中C表示摄氏温度,F表示华氏温度)进行计算转化,输入华氏温度F,输出摄氏温度C,要求精确到小数点后5位。
【输入】
输入一行,包含1个实数F,表示华氏温度。(F≥-459.67)
【输出】
输出一行,包含一个实数,表示对应的摄氏温度,要求精确到小数点后5位。
【输入样例】
41
【输出样例】
5.00000
【答案&代码】
#include<stdio.h> #include<math.h> int main(void){ double F; scanf("%lf",&F); double C=5*(F-32)/9; printf("%.5f",C); return 0; }
T1014 : 与圆相关的计算
【题目描述】
给出圆的半径,求圆的直径、周长和面积。输入圆的半径实数r,输出圆的直径、周长、面积,每个数保留小数点后4位。圆周率取值为3.14159。
【输入】
输入包含一个实数r(0 < r ≤ 10,000),表示圆的半径。
【输出】
输出一行,包含三个数,分别表示圆的直径、周长、面积,数与数之间以一个空格分开,每个数保留小数点后4位。
【输入样例】
3.0
【输出样例】
6.0000 18.8495 28.2743
【答案&代码】
#include<stdio.h> #define PI 3.14159 int main(void){ double r; scanf("%lf",&r); printf("%.4f %.4f %.4f",2*r,2*r*PI,r*r*PI); return 0; }
T1015 : 计算并联电阻的阻值
【题目描述】
对于阻值为 r1 和 r2 的电阻,其并联电阻阻值公式计算如下:R=1(1/r1+1/r2)。输入两个电阻阻抗大小,浮点型。输出并联之后的阻抗大小,结果保留小数点后2位。
【输入】
两个电阻阻抗大小,浮点型,以一个空格分开。
【输出】
并联之后的阻抗大小,结果保留小数点后2位。
【输入样例】
1 2
【输出样例】
0.67
【答案&代码】
#include<stdio.h> int main(void){ double r1,r2; scanf("%lf%lf",&r1,&r2); printf("%.2f",1/(1/r1+1/r2)); return 0; }
第三节 标准数据类型
T1016 : 整型数据类型存储空间大小
【题目描述】
分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
【输入】
(无)
【输出】
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
【输入样例】
(无)
【输出样例】
(无)
【答案&代码】
#include<stdio.h> int main(void){ printf("%d %d",sizeof(int),sizeof(short)); return 0; }
T1017 : 浮点型数据类型存储空间大小
【题目描述】
分别定义float,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
【输入】
(无)
【输出】
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
【输入样例】
(无)
【输出样例】
(无)
【答案&代码】
#include<stdio.h> int main(void){ printf("%d %d",sizeof(float),sizeof(double)); return 0; }
T1018 : 其他数据类型存储空间大小
【题目描述】
分别定义bool,char类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
【输入】
(无)
【输出】
一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。
【输入样例】
(无)
【输出样例】
(无)
【答案&代码】
#include<stdio.h> int main(void){ printf("%d %d",sizeof(bool),sizeof(char)); return 0; }
T1019 : 浮点数向零舍入
【题目描述】
输入一个单精度浮点数,将其向零舍入到整数。说明:向零舍入的含义是,正数向下舍入,负数向上舍入。提示:可以使用强制类型转换来实现。
【输入】
一个单精度浮点数。
【输出】
一个整数,即向零舍入到整数的结果。
【输入样例】
2.3
【输出样例】
2
【答案&代码】
#include<stdio.h> int main(void){ double num; scanf("%lf",&num); printf("%d",(int)num); return 0; }
T1020 : 打印ASCII码
【题目描述】
输入一个除空格以外的可见字符(保证在函数scanf中可使用格式说明符%c读入),输出其ASCII码。
【输入】
一个除空格以外的可见字符。
【输出】
一个十进制整数,即该字符的ASCII码。
【输入样例】
A
【输出样例】
65
【答案&代码】
#include<stdio.h> int main(void){ char ch; scanf("%c",&ch); printf("%d",ch); return 0; }
T1021 : 打印字符
【题目描述】
输入一个整数,即字符的ASCII码,保证存在对应的可见字符。输出相对应的字符。
【输入】
一个整数,即字符的ASCII码,保证存在对应的可见字符。
【输出】
一行,包含相应的字符。
【输入样例】
65
【输出样例】
A
【答案&代码】
#include<stdio.h> int main(void){ int ch; scanf("%d",&ch); printf("%c",ch); return 0; }
T1022 : 整型与布尔型的转换
【题目描述】
将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?
【输入】
一个整型范围内的整数,即初始时整型变量的值。
【输出】
一个整数,经过上述过程后得到的结果。
【输入样例】
3
【输出样例】
1
【答案&代码】
#include<stdio.h> int main(void){ int n; scanf("%d",&n); bool temp=n; n=temp; printf("%d",n); return 0; }
T1023 : Hello,World!的大小
【题目描述】
我们曾经输出过的“Hello, World!”吗?它虽然不是本章所涉及的基本数据类型的数据,但我们同样可以用sizeof函数获得它所占用的空间大小。
【输入】
(无)
【输出】
一个整数,即“Hello, World!”的大小。
【输入样例】
(无)
【输出样例】
(无)
【答案&代码】
#include<stdio.h> int main(void){ printf("%d",sizeof("Hello, World!")); return 0; }
第四节 数据输入输出
T1024 : 保留3位小数的浮点数
【题目描述】
读入一个单精度浮点数,保留3位小数输出这个浮点数。
【输入】
只有一行,一个单精度浮点数。
【输出】
也只有一行,读入的单精度浮点数。
【输入样例】
12.34521
【输出样例】
12.345
【答案&代码】
#include<stdio.h> int main(void){ double num; scanf("%lf",&num); printf("%.3f",num); return 0; }
T1025 : 保留12位小数的浮点数
【题目描述】
读入一个双精度浮点数,保留12位小数,输出这个浮点数。
【输入】
只有一行,一个双精度浮点数。
【输出】
也只有一行,保留12位小数的浮点数。
【输入样例】
3.1415926535798932
【输出样例】
3.141592653580
【答案&代码】
#include<stdio.h> int main(void){ double num; scanf("%lf",&num); printf("%.12f",num); return 0; }
T1026 : 空格分隔输出
【题目描述】
读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输出浮点数时保留6位小数。
【输入】
第一行是一个字符;
第二行是一个整数;
第三行是一个单精度浮点数;
第四行是一个双精度浮点数。
【输出】
输出字符、整数、单精度浮点数和双精度浮点数,之间用空格分隔。
【输入样例】
a
12
2.3
3.2
【输出样例】
a 12 2.300000 3.200000
【答案&代码】
#include<stdio.h> int main(void){ char ch; int n; double a,b; scanf("%c%d%lf%lf",&ch,&n,&a,&b); printf("%c %d %.6f %.6f",ch,n,a,b); return 0; }
T1027 : 输出浮点数
【题目描述】
读入一个双精度浮点数,分别按输出格式“%f”,“%f”保留5位小数,“%e”和“%g”的形式输出这个整数,每次在单独一行上输出。
【输入】
一个双精度浮点数。
【输出】
第一行是按“%f”输出的双精度浮点数;
第二行是按“%f”保留5位小数输出的双精度浮点数;
第三行是按“%e”输出的双精度浮点数;
第四行是按“%g”输出的双精度浮点数。
【输入样例】
12.3456789
【输出样例】
12.345679
12.34568
1.234568e+001
12.3457
【答案&代码】
#include<stdio.h> int main(void){ double n; scanf("%lf",&n); printf("%.6f\n%.5f\n%e\n%g",n,n,n,n); return 0; }
T1028 : 字符菱形
【题目描述】
给定一个字符,用它构造一个对角线长5个字符,倾斜放置的菱形。
【输入】
输入只有一行, 包含一个字符。
【输出】
该字符构成的菱形。
【输入样例】
*
【输出样例】
*
***
*****
***
*
【答案&代码】
#include<stdio.h> int main(void){ char ch; scanf("%c",&ch); printf(" %c \n %c%c%c \n%c%c%c%c%c\n %c%c%c \n %c ",ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch); return 0; }