今天开始在CSDN同步更新我的公众号文章了,毕竟手机比较难检索题号
想要第一时间收到文章的可以跳转至最后,关注我的公众号
XDOJ题目传送门
P-0009
题目:计算球体重量
时间限制:1S
内存限制:10000Kb
问题描述:
已知铁的比重是7.86(克/立方厘米),金的比重是19.3(克/立方厘米)。写一个程序,分别计 算出给定直径的铁球与金球的质量,假定PI=3.1415926
输入说明:
输入两个整数,分别表示铁球与金球的直径(单位为毫米)
输出说明:
输出两个浮点数,分别表示铁球与金球的质量(单位为克),小数点后保留3位小数,两 个浮点数之间用空格分隔
输入样例:
100 100
输出样例:
4115.486 10105.456
提示
用scanf输入,用printf输出,保留3位小数的格式控制字符为%.3f
#include<stdio.h>
int main(){
const double pi=3.1415926;
const double iron=0.00786;
const double gold=0.0193;
int d1,d2;
scanf("%d",&d1);
scanf("%d",&d2);
printf("%.3f %.3f",4*pi*d1*d1*d1*iron/24,4*pi*d2*d2*d2*gold/24);
return 0;
}
P-0010
题目:温度转换
时间限制:1 S
内存限制:10000Kb
问题描述:
已知华氏温度到摄氏温度的转换公式为:摄氏温度= (华氏温度- 32)×5/9,写程序将给定的华氏温度转换为摄氏温度输出
输入说明:
只有一个整数,表示输入的华氏温度
输出说明:
输出一个表示摄氏温度的实数,小数点后保留2位有效数字,多余部分四舍五入
输入样例:
50
输出样例:
10.00
提示:
用scanf输入,用printf输出,保留2位小数的格式控制字符为%.2f
#include<stdio.h>
int main(){
int h;
scanf("%d",&h);
printf("%.2f",((double)h-32)*5/9);
return 0;
}
P-0011
题目11:整数简单运算
问题描述:编写程序,计算用户输入的两个整数的和、差、乘积(*)和商(/)。
输入格式:输入两个整数,整数之间用空格分隔。
输出格式:输出四个整数结果,分别表示和、差、积和商,每输出一个结果换行。
输入样例:
3 4
输出样例:
7
-1
12
0
#include<stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
printf("%d\n",a-b);
printf("%d\n",a*b);
printf("%d\n",a/b);
return 0;
}
P-0015
A+B+C
问题描述:
通过键盘输入三个整数a,b,c,求3个整数之和。
输入说明:
三整形数据通过键盘输入,输入的数据介于-100000和100000之间,整数之间以空格、跳格或换行分隔。
输出说明:
输出3个数的和。
输入样例:
-6 0 39
输出样例:
33
#include<stdio.h>
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d",a+b+c);
return 0;
}
P-0016
字符输入输出
问题描述:
通过键盘输入5个大写字母,输出其对应的小写字母,并在末尾加上“!”。
输入说明:
5个大写字母通过键盘输入,字母之间以竖线“|”分隔。
输出说明:
输出5个大写字母对应的小写字母,之间无分隔,并在末尾加上‘!’。
输入样例:
H|E|L|L|O
输出样例:
hello!
#include<stdio.h>
int main(){
char a,b,c,d,e;
scanf("%c|%c|%c|%c|%c",&a,&b,&c,&d,&e);
printf("%c%c%c%c%c!",a+32,b+32,c+32,d+32,e+32);
return 0;
}
P-0018
数字字符
问题描述:
通过键盘输入1个整数a(0<=a<=4),1个数字字符b(’0’<=b<=’5’),求a+b。
输入说明:
整形数据、数字字符通过键盘输入,输入的整形数据介于0和4之间,输入的数字字符介于‘0’和‘5’之间,二个输入数之间用“,”分隔。
输出说明:
分别以整数形式及字符形式输出a+b,输出的二个数之间用“,”分隔。
输入样例:
3 ,5
输出样例:
56,8
#include<stdio.h>
int main(){
int a;
char b;
scanf("%d,%c",&a,&b);
printf("%d,%c",a+b,a+b);
return 0;
}
P-0019
实数运算
问题描述:
通过键盘输入长方体的长、宽、高,求长方体的体积V(单精度)。
输入说明:
十进制形式输入长、宽、高,输入数据间用空格分隔。
输出说明:
单精度形式输出长方体体积V,保留小数点后3位,左对齐。
输入样例:
15 8.12 6.66
输出样例:
811.188
#include<stdio.h>
int main(){
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
printf("%.3f",a*b*c);
return 0;
}
P-0020
四则运算
问题描述:
输入两个整数和一个四则运算符,根据运算符计算并输出其运算结果(和、差、积、商、余之一)。注意做整除及求余运算时,除数不能为零。
输入说明:
使用scanf()函数输入两个整数和一个运算符,格式见输入样例
输出说明:
输出使用printf()函数,格式见输出样例。
输入样例:
5%2
输出样例:
5%2=1
#include<stdio.h>
int main(){
int a,b;
char c;
scanf("%d",&a);
scanf("%c",&c);
scanf("%d",&b);
if(c=='%'){
printf("%d%c%d=%d",a,c,b,a%b);
}else if(c=='+'){
printf("%d%c%d=%d",a,c,b,a+b);
}else if(c=='-'){
printf("%d%c%d=%d",a,c,b,a-b);
}else if(c=='*'){
printf("%d%c%d=%d",a,c,b,a*b);
}else if(c=='/'&&b!=0){
printf("%d%c%d=%d",a,c,b,a/b);
}
return 0;
}
P-0021
数位输出
问题描述:
输入一个5位整数,求出其各数位数值,并按照从高位到低位的顺序输出,如:输入12345,输出为1 2 3 4 5。
输入说明:
输入一个五位正整数。
输出说明:
按数位从高到低依次输出,各数位之间以一个空格相分隔。
输入样例:
96237
输出样例:
9 6 2 3 7
(用到了数组)
#include<stdio.h>
int main(){
long long int a;
scanf("%lld",&a);
int num[5];
for(int i=0;i<5;i++){
num[i]=a%10;
a/=10;
}
for(int j=4;j>=0;j--){
printf("%d ",num[j]);
}
return 0;
}
P-0042
整除判断
类别
基本计算
时间限制
1S
内存限制
256Kb
问题描述
判断正整数a能否被b整数,如果不能整除,输出商和余数
输入说明
输入两个正整数a和b(0<a, b<=10000),a和b之间用空格分隔。
输出说明
如果a能被b整除,输出yes,否则在同一行输出a除以b的商和余数,商和余数之间用空格 分隔
输入样例
17 7
输出样例
2 3
#include<stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
if(a%b==0){
printf("yes");
}else{
printf("%d %d",a/b,a%b);
}
return 0;
}
P-0047
冰箱温度预测
类别
基本计算
问题描述
编写一个程序,用于预测冰箱断电后经过时间t(以小时为单位)后的温度T。已知计算公式如下所示
输入说明
输入两个整数h和m表示冰箱断电后经过的时间,h表示小时,m表示分钟
输出说明
输出冰箱断电后经过时间t(以小时为单位)后的温度T,保留两位小数
输入样例
2 0
输出样例
-16.00
#include<stdio.h>
int main(){
int h,m;
scanf("%d",&h);
scanf("%d",&m);
printf("%.2f",-20+4*(h+(double)m/60)*(h+(double)m/60)/((h+(double)m/60)+2));
return 0;
}
P-0048
除法计算器
类别
基本计算
时间限制
1S
内存限制
256Kb
问题描述
小明的弟弟刚开始学习除法,为了检查弟弟的计算结果是否正确,小明决定设计一个简单计算器程序来验算。
输入说明
输入数据由四个整数m,n,q,r构成,m为被除数,n为除数,q和r为小明的弟弟计算出的商和余数。整数之间用空格分隔,所有整数取值范围在(-100000~100000),n不为0。
输出说明
如果验算结果正确,输出yes,否则输出正确的商和余数
输入样例:
样例1:
10 3 3 1
样例2:
10 3 3 2
输出样例
样例1输出:
yes
样例2输出:
3 1
#include<stdio.h>
int main(){
int m,n,q,r;
scanf("%d%d%d%d",&m,&n,&q,&r);
if(q==m/n&&r==m%n){
printf("yes");
}else{
printf("%d %d",m/n,m%n);
}
return 0;
}
P-0060
简单程序
描述
输出特定的文字
时间限制
1
内存限制
10000
类别
1
输入说明
无
输出说明
用C程序输出以下两行文字
C programming language is useful!
I like it very much.
输入样例
无
输出样例
C programming language is useful!
I like it very much.
提示
使用printf输出即可
过于简单,不作演示
P-0079
题目描述:
计算三个整数的平均值,结果保留两位小数。
输入格式:
共一行,包含三个整数,整数之间用空格分隔。
输出格式:
共一行,输出平均值,结果保留两位小数。
输入示例:
20 42 55
输出示例:
39.00
#include<stdio.h>
int main(){
int a,b,c;
double avg;
scanf("%d%d%d",&a,&b,&c);
avg=(a+b+c)/3.0;
printf("%.2f",avg);
return 0;
}
P-0089
题目描述:
输入球的半径,计算并输出球的体积,假定pi=3.14,结果保留两位小数。
输入格式:
共一行,输入球体半径,两位小数。
输出格式:
共一行,输出球体体积,结果保留两位小数。
示例:
输入:5.50
输出:696.56
#include<stdio.h>
int main(){
const double pi=3.14;
double r;
scanf("%lf",&r);
printf("%.2f",4*r*r*r*pi/3);
return 0;
}
P-0090
题目描述:
输入一个三位数整数,求其百位、十位和个位数字之和。
输入格式:
共一行,输入一个三位整数。
输出格式:
共一行,输出一个整数。
示例:
输入:
128
输出:
11
#include<stdio.h>
int main(){
int n,sum=0;
scanf("%d",&n);
while(n!=0){
sum+=n%10;
n/=10;
}
printf("%d",sum);
return 0;
}
P-0091
题目描述:
输入三角形的三边长,计算三角形的面积,结果保留两位小数。
边长分别为a,b,c,三角形的面积公式为s=sqrt(p(p-a)(p-b)(p-c)),其中p=(a+b+c)/2。
输入格式:
共一行,输入三个数,保留两位小数,用空格隔开各个数据。
输出格式:
共一行,输出面积,结果保留两位小数。
示例:
输入:
3.00 4.00 5.00
输出:
6.00
#include<stdio.h>
#include<math.h>
int main(){
double a,b,c,s,p;
scanf("%lf%lf%lf",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.2f",s);
return 0;
}
P-0092
题目描述:
公司财务要发工资现金,需要提前换取100元、50元、20元、10元、5元和1元的人民币,
请输入工资数,计算张数最少情况下,各自需要多少张。
输入格式:
共一行,输入一个正整数。
输出格式:
共一行,分别是100、50、20、10、5、1元面额的张数,用空格隔开各个数据。
示例:
输入:
1258
输出:
12 1 0 0 1 3
#include <stdio.h>
int main(){
int i;
scanf("%d",&i);
printf("%d ",i/100);
i%=100;
printf("%d ",i/50);
i%=50;
printf("%d ",i/20);
i%=20;
printf("%d ",i/10);
i%=10;
printf("%d ",i/5);
i%=5;
printf("%d ",i);
return 0;
}
P-0100
三角形判别
描述
已知三角形任意两边之和大于第三边,给出三个正整数a,b,c,,请判断能否构成一个三角形,并输出相应结果。
时间限制
1
内存限制
10000
类别
1
输入说明
输入数据为同一行上的3个整数a,b,c(0 < a,b,c < 1000),整数之间用空格分隔。
输出说明
如果输入的三个整数能够构成一个三角形,输出该三角形周长,否则输出No
输入样例
3 3 2
1 1 5
输出样例
8
No
提示
能够构成一个三角形,输出该三角形周长,否则输出No
#include<stdio.h>
int main(){
unsigned int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a){
printf("%d",a+b+c);
}else{
printf("No");
}
return 0;
}
P-0110(注意UTF-8和GBK编码的区别)
题目描述:
编写程序:输入一个正整数,判断该数的奇偶性,输出判断的结果(偶数/奇数)。
输入格式:
输入一个正整数。
输出格式:
输出“偶数”或“奇数”。
示例:
输入:5
输出:奇数
#include<stdio.h>
int main(){
unsigned int a;
scanf("%d",&a);
if(a%2==0){
printf("偶数");
}else{
printf("奇数");
}
return 0;
}
P-0111
题目描述:
编写程序,输入一个正整数,判断是否能被5和7同时整除,若可以,则输出yes;否则输出no。
输入格式:
输入一个正整数。
输出格式:
输出“yes”或“no”。
示例:
输入:
35
输出:
yes
#include<stdio.h>
int main(){
unsigned int a;
scanf("%d",&a);
if(a%5==0&&a%7==0){
printf("yes");
}else{
printf("no");
}
return 0;
}
P-0113
题目描述:
编写程序,根据某城市普通出租车收费标准进行车费计算。标准如下:
起步里程为3公里,起步费10元;
超出起步里程后10公里内,每公理2元;
超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
营运过程中,因路阻及乘客要求临时停车等待的,按每5分钟2元计费(不足5分钟不收费)。
输入格式:
共一行,包括行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔
输出格式:
在一行中输出乘客应支付的车费(单位为元),结果四舍五入保留整数。
示例:
输入:
40.0 7
输出:
116
#include <stdio.h>
int main(){
float km,price=0;
int min;
scanf("%f%d",&km,&min);
if(km>10){
price=3*(km-10)+10 +14;
}else if(km>3){
price=2*(km-3)+10;
}else{
price = 10;
}
price+=min/5*2;
printf("%.0f", price);
return 0;
}
P-0125
题目:利率计算
时间限制:1S
内存限制:10000Kb
问题描述:
假如我国国民生产总值的年增长率为9%,计算10年后我国国民总值与现在相比增长多少百分比。计算公式为p=(1+r)^n
r为增长率,n为年数,p为与现在相比的倍数。
输入说明:
输入两个浮点数,分别表示年增长率和年数,两个浮点数之间用空格分隔。
输出说明:
输出一个浮点数,表示与现在相比的倍数,小数点后保留2位小数。
输入样例:
0.09 10
输出样例:
2.37
#include<stdio.h>
#include<math.h>
int main(){
double r,n;
scanf("%lf%lf",&r,&n);
printf("%.2f",pow(1+r,n));
return 0;
}
P-0126
题目:购房贷款计算
时间限制:1S
内存限制:10000Kb
问题描述:
购房从银行贷了一笔款d,准备每月还款额为P,月利率为r,计算多少月能还清。(设d为300000元,p为6000元,r为1%,对求得的月份取小数点后一位,对第2位按四舍五入处理)
提示:计算还清月数m的公式如下:
也可以将公式改写为:
输入说明:
输入三个浮点数,分别表示贷款,每月还款额与月利率,三个浮点数之间用空格分隔。
输出说明:
输出以个浮点数,表示还清贷款的月数,小数点后保留2位小数。
输入样例:
300000 6000 0.01
输出样例:
69.66
#include<stdio.h>
#include<math.h>
int main(){
double d,p,r,m;
scanf("%lf%lf%lf",&d,&p,&r);
m=(log10(p)-log10(p-d*r))/log10(1+r);
printf("%.2f",m);
return 0;
}
P-0139(凯撒密码)
字符编码
时间限制:1S
内存限制:10000Kb
问题描述:
请编程序将“China”译成密码,密码规律是:用原来字母后面第四个字母代替原来的字母。例如“A”后面的第四个字母是“E”,用“E”代替“A”,因此,“China”应译为“Glmre”。
输入说明:
用赋初值的方法使c1,c2,c3,c4,c5这五个变量的值分别为‘C’,‘h’,‘i’‘n’,‘a’,字符之间以空格分隔。
输出说明:
经过运算,使c1,c2,c3,c4,c5分别变成‘G’,‘l’,‘m’,‘r’,‘e’。用printf函数输出这五个字符
输入样例:
C h i n a
输出样例:
Glmre
原理是ASCII码
#include<stdio.h>
int main(){
char c1,c2,c3,c4,c5;
scanf("%c %c %c %c %c",&c1,&c2,&c3,&c4,&c5);
printf("%c%c%c%c%c",c1+4,c2+4,c3+4,c4+4,c5+4);
return 0;
}
第一弹 完。
最后
感兴趣的可以关注我的微信公众号,第一时间收到动态。