【DHUOJ】基本练习 1-10

1: 计算球体积

作者: xxx时间限制: 1S章节: 顺序结构

问题描述 :

根据输入的半径值,计算球的体积。

球体积的计算公式为:

4/3 * PI * r3

其中PI的取值为:3.1415927

输入说明 :

输入数据为一个实数,表示球的半径,半径范围为[0,1000]。

输出说明 :

输出对应的球的体积,计算结果保留三位小数。不要输出多余空格。

输入范例 :

1.1
输出范例 :

5.575

#include <stdio.h>
int main() 
{
	double v,r,PI;
	PI=3.1415927;
	scanf("%lf",&r);
	v=r*r*r*PI*4/3;
	printf("%.3lf",v);
	return 0;
}

2 计算两点间的距离

作者: XXX时间限制: 1S章节: 顺序结构

问题描述 :

输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

输入说明 :

输入数据由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。

输出说明 :

输出结果,保留两位小数。

输入范例 :

3 4 -10 0
输出范例 :

13.60

#include <stdio.h>
#include<math.h>
int main()
 {double x1,y1,x2,y2,a;
 scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2);
 a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
 printf("%.2lf",a);
	return 0;
}

3 大小写转换

作者: 江宝钏时间限制: 1S章节: 顺序结构

问题描述 :

从键盘输入一个大写字母,改用小写字母输出。

输入说明 :

一个大写英文字符

输出说明 :

对应的小写英文字符。

输入范例 :

A
输出范例 :

a

#include <stdio.h>
int main()
 {char x;
 scanf("%c",&x);
 printf("%c",x-('A'-'a'));
	return 0;
}

4 温度转换

作者: Turbo时间限制: 1S章节: 顺序结构

问题描述 :

从键盘输入一个摄氏温度,要求转换成华氏温度输出。摄氏温度转换为华氏温度的公式为(其中c表示摄氏温度,f表示华氏温度): f=(9/5)*c+32

输入说明 :

输入一个摄氏温度

输出说明 :

输出对应的华氏温度。注意,输出结果保留两位小数,小数点后第三位四舍五入到小数点后第二位,但小数点后总共输出6位(即最后需要输出4个0)。

输入范例 :

26.67
输出范例 :

80.010000

#include <stdio.h>
int main()
 {double c,d,f;
 scanf("%lf",&c);
 d=1.8*c+32;
 f=(int)(d*100+0.5);
 f=f/100;
 printf("%.6lf",f);
	return 0;
}









5 判断奇偶

作者: Turbo时间限制: 1S章节: 分支结构

问题描述 :

从键盘输入一个整数,编程判断它的奇偶性。

输入说明 :

输入一个数字n

输出说明 :

输出n是奇数还是偶数。比如,输入数字5,则输出“5 is odd”;输入数字6,则输出“6 is even”

输入范例 :

5
输出范例 :

5 is odd

#include <stdio.h>
int main()
 {int c;
 scanf("%d",&c);
 if(c%2==1)
 printf("%d is odd",c);
 else 
 printf("%d is even",c);
	return 0;
}

6 逆序输出1到4位正整数

作者: Turbo时间限制: 1S章节: 分支结构

问题描述 :

输入一个不多于4位的正整数,要求按逆序打印出各个位上的数字,例如原数为23,应输出32;如原数为8000,应输出0008;如原数为1,则输出1。应测试以下情况:输入的数为1位、2位、3位、4位正整数;此外,还应测试以下异常情况:输入负数或0,或输入的数超过4位。
输入说明 :

输入一个整数,可能为0,也可能为负数。
输出说明 :

输入1到4位的正整数时,输出该数的逆序,如果是其它整数,则输出“error!”。输出时,行首与行尾均无空格。
输入范例 :

8000
输出范例 :

0008

#include <stdio.h>
int main()
 {int c,x;
 scanf("%d",&c);
 if(c<=9999&&c>=1)
 {
 while(c!=0)
 {printf("%d",c%10);
 c=c/10;
	}
}
else printf("error!");
	return 0;
}

7 简单加减乘除

作者: Turbo时间限制: 1S章节: 分支结构

问题描述 :

从键盘输入两个实数到变量a和b中,然后输入一个数字代表进行的运算,该数字为1则代表对a和b做加法,2代表减法,3代表乘法,4代表除法。

如果输入1 3 4,表示进行1/3的操作,结果为0.333333。输出时,保留两位小数,因此输出0.33。

注:可直接使用printf的控制格式实现保留两位小数的目的。

输入说明 :

输入两个实数,再输入一个1到4的整数,三个数字之间以空格分隔。

输出说明 :

输出计算结果,保留两位小数。如果做除法,但分母是0,则输出“error!”。输出时,行首与行尾均无空格。

输入范例 :

1 3 1
输出范例 :

4.00

#include <stdio.h>
int main()
 {double a,b,c;
 scanf("%lf %lf %lf",&a,&b,&c);
if (b!=0)
{ if(c==1)
 printf("%.2lf",a+b);
if(c==2)
printf("%.2lf",a-b);
if (c==3)
printf("%.2lf",a*b);
if (c==4)
printf("%.2lf",a/b); }
else
printf("error!");

	return 0;
}

8 字母的前趋或后继

作者: Turbo时间限制: 1S章节: 分支结构

问题描述 :

输入一个小写英文字母。如果这个字母是英文字母表的前13个字母中的一个(m字母及m以前的字母),则输出它的后一个字母;否则输出它的前一个字母。 比如输入a,则输出b,输入z,则输出y。
输入说明 :

输入一个小写字母,不需要考虑其它字符。在行首和行尾没有多余的空格。
输出说明 :

对应输入的小写字母,输出它对应的前趋或后继字母。行首和行尾不要输出多余的空格。
输入范例 :

a
输出范例 :

b

#include <stdio.h>
int main()
 {char x;
 scanf("%c",&x);
 if(x<='m')
 printf("%c",x+('b'-'a'));
	else 
	 printf("%c",x-('b'-'a'));
	return 0;
}

9 门票价格计算

作者: Turbo时间限制: 1S章节: 分支结构

问题描述 :

某旅游景点门票价格为每人5元。但团体可以优惠,分为以下情况:

人数超过20,则所有人优惠10%;

人数超过40,则所有人优惠15%;

人数超过80,则所有人优惠20%;

人数超过120,则所有人优惠30%。

请跟据团体的人数,求出该团体的总门票价格。

输入说明 :

输入一个整数i(0≤i≤1,000),表示一个团体的总人数。在行首和行尾没有多余的空格。

输出说明 :

输出一个实数,即该团体需要支付的总票价,精确到小数点后2位。在行首和行尾不要输出多余的空格。

输入范例 :

80
输出范例 :

340.00

#include <stdio.h>
int main() {
	double a,b,x;
scanf("%lf",&x);
		if (x>120) {
			a=0.3;
		}
		else if (x>80) {
			a= 0.2;}
		else if (x>40) {
			a= 0.15;}
		else if (x>20) {
			a=0.1;}
		else {a = 0;}
		b= x*5*(1.0-a);
		printf("%.2lf\n",b);
	return 0;
}

10 星期几问题

作者: Turbo时间限制: 1S章节: 分支结构

问题描述 :

根据一个范围在0至6的整数,用英文输出它对应的是星期几。(0对应Sunday,1对应Monday, 2对应Tuesday, 3对应Wednesday, 4对应Thursday, 5对应Friday, 6对应Saturday)

输入说明 :

输入一个整数n(0 ≤ n ≤ 6)。在行首和行尾没有多余的空格。

输出说明 :

输出一个字符串,即输入n对应的星期几的英文名称,请注意大小写。在行首和行尾不要输出多余的空格。

输入范例 :

0
输出范例 :

Sunday

#include <stdio.h>
int main() {
int a;
scanf("%d",&a);
switch(a)
{
case 0:printf("Sunday");
break;
case 1:printf("Monday");
break;
case 2:printf("Tuesday");
break;
case 3:printf("Wednesday");
break;
case 4:printf("Thursday");
break;
case 5:printf("Friday");
break;
case 6:printf("Saturday");
break;}
	return 0;
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值