每日学习 1010--1030

1010 球体的体积

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

已知球体的半径r,计算并输出该球体的体积。

输入要求

输入球体半径r。

输出要求

计算球体体积并输出,保留2位小数。

输入样例

96.2

输出样例

3727293.58

提示

 

圆周率使用3.14。

来源

NBU OJ

代码:

#include<stdio.h>         //C语言
int main(){
	double r;
	scanf("%lf",&r);
	printf("%.2f\n",12.56*r*r*r/3);
	return 0;
}


1011 卫生包干区的面积

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

 

为了培养大家热爱劳动的习惯,学校将校园的角角落落划分成若干卫生包干区,分给各个班级。小鹭所在班级也分到了一块,作为班长,小鹭需要知道这块区域到底有多少大,以便安排多少同学去打扫,你能帮她计算一下这块包干区的大小吗?已知包干区的形状是一个任意三角形,并且已经把各条边的边长测量好了,假设3条边的边长为a,b,c,请求出这块包干区的面积并输出。

可利用海伦公式求解任意三角形面积:

其中

输入要求

输入三条边的边长(假设3条边长肯定可以构成三角形)。

输出要求

计算并输出该三角形面积。保留2位小数。

输入样例

3.1 4.2 5.3

输出样例

6.51

提示

 

浮点数据建议用double

来源

NBU OJ

代码:

#include<stdio.h>       //C语言
#include<math.h>
int main(){
	double a,b,c,p;
	scanf("%lf%lf%lf",&a,&b,&c);
	p=(a+b+c)/2;
	printf("%.2f\n",sqrt(p*(p-a)*(p-b)*(p-c)));
	return 0;
} 


1012 平面上的三角形判断(1)

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

已知三个数a,b,c,请问以这三个数作为边长能否构成一个三角形?如果可以构成三角形则输出该三角形的面积,否则输出Error。

输入要求

输入三个浮点数

输出要求

如果这三个数能构成一个三角形,则计算并输出这个三角形的面积,保留2位小数。如果不能构成三角形就输出Error。

输入样例

3.1 1.4 4.6

输出样例

Error

提示

 

提醒:在一个三角形中,任意两边之和大于第3边。

输入可能包含小数,建议用double。

来源

NBU OJ

代码:

#include<stdio.h>      //C语言
#include<math.h>
int main(){
	double a,b,c,p;
	scanf("%lf%lf%lf",&a,&b,&c);
	p=(a+b+c)/2;
	if((a+b)>c&&(a+c)>b&&(b+c)>a) printf("%.2f\n",sqrt(p*(p-a)*(p-b)*(p-c)));
	else printf("Error\n");
	return 0;
} 


1013 平面上两点的距离

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

已知平面上任意两点的坐标(x1,y1)和(x2,y2),求这两点之间的距离。

输入要求

依次输入四个数据x1、y1和x2、y2,分别表示平面上两点的坐标。其中(x1,y1)表示第一个点的坐标,(x2,y2)表示第二个点的坐标。

输出要求

输出这两点间的距离。保留2位小数。

输入样例

3.1 4.2 5.0 6.0

输出样例

2.62

提示

浮点数据建议用double

来源

NBU OJ

代码:

#include<stdio.h>    //C语言
#include<math.h> 
int main(){
	double x1,y1,x2,y2;
	scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
	printf("%.2f\n",sqrt(pow(x1-x2,2)+pow(y1-y2,2)));
	return 0;
}

1014 鸡兔同笼(1)

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

鸡和兔关在一个笼子里,鸡有2只脚,兔有4只脚,没有例外。已知现在可以看到笼子里有m个头和n只脚,求笼子里的鸡和兔子各有多少只?

输入要求

 

输入两个整数m和n,分别代表笼子里面头的数量和脚的数量。(假设m和n都在合法的数据范围内)

输出要求

计算并依次输出笼子里面鸡和兔的只数。(数字为0的也要输出)

输入样例

12 40

输出样例

4 8

提示

 

来源

NBU OJ

代码:

#include<stdio.h>         //C语言  法1
int main(){
	int m,n;//m->头,n->脚
	scanf("%d%d",&m,&n);
	/*
	j+t=m;         //j->鸡,t->兔  
	2*j+4*t=n;
	*/ 
	printf("%d %d\n",2*m-n/2,n/2-m);
	return 0;
}
#include<stdio.h>           //C语言 法2
int main(){
	int m,n,j,t,i;
	scanf("%d%d",&m,&n);
	for(j=0;2*j<=n;j++){
		t=m-j;
		if(2*j+4*t==n) printf("%d %d\n",j,t);
	}
	return 0;
} 


1015 两数交换输出顺序

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

 

从键盘依次输入两个整数,要求完成以下操作:

1、首先原样输出这两个数;

2、交换这两个数的顺序后再输出一遍。

输入要求

从键盘输入两个整数。

输出要求

 

1、首先原样输出这两个数;

2、交换这两个数的顺序后再输出一遍。

输入样例

12 23

输出样例

12 23 
23 12

提示

两个数据之间以一个空格间隔,同一行最后一个数据输出后要换行。

来源

NBU OJ

代码:

#include<stdio.h>       //C语言
int main(){
	int a,b;
	scanf("%d%d",&a,&b);
	printf("%d %d\n%d %d\n",a,b,b,a);
	return 0;
}


1016 两浮点数相除

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

输入两个浮点数x和y,计算x除以y的值。

输入要求

输入两个浮点数x和y。

输出要求

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

输入样例

2 3

输出样例

0.67

提示

 

来源

NBU OJ

代码:

#include<stdio.h>        //C语言
int main(){
	double x,y;
	scanf("%lf%lf",&x,&y);
	printf("%.2f\n",x/y);
	return 0;
}


1017 商和余数

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

输入两个整数x和y,计算x除以y的商和余数。

输入要求

输入两个整数x和y。

输出要求

输出商和余数。

输入样例

65 14

输出样例

4 9

提示

保证除数不为0

来源

NBU OJ

代码:

#include<stdio.h>      //C语言
int main(){
	int x,y;
	scanf("%d%d",&x,&y);
	printf("%d %d\n",x/y,x%y);
	return 0;
}


1018 植树问题

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

学校植树节开展植树活动,已知小鹭所在的班级分到树苗m株,班里参加植树的同学有n人(m>n),请问每位同学平均可以植树几株?还有几株剩余?

输入要求

输入两个整数m和n,分别表示树苗的数量和学生的人数(m>n)。

输出要求

输出每位同学平均植树的数量及剩余的树苗数量。

输入样例

163 32

输出样例

5 3

提示

 

来源

NBU OJ

代码:

#include<stdio.h>       //C语言
int main(){
	int m,n;
	scanf("%d%d",&m,&n);
	printf("%d %d\n",m/n,m%n);
	return 0;
}


1019 美元和人民币

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

 

随着国际形势的变化,美元与人民币的兑换率也经常在变化。假设美元与人民币的汇率是1美元兑换6.5573元人民币,编写程序输入美元金额,输出能兑换的人民币金额。

输入要求

输入美元金额(浮点类型)。

输出要求

输出能兑换的人民币的数值。输出保留2位小数。

输入样例

100

输出样例

655.73

提示

建议用double

来源

NBU OJ

代码:

#include<stdio.h>      //C语言
int main(){
	double x;
	scanf("%lf",&x);
	printf("%.2f\n",6.5573*x);
	return 0;
}


1020 字符的ASCII码值

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

从键盘输入一个字符,输出其对应的十进制表示的ASCII码值。

输入要求

输入一个字符(保证在有效范围内)。

输出要求

输出字符对应的十进制表示的ASCII码值。

输入样例

A

输出样例

65

提示

 

来源

NBU OJ

代码:

#include<stdio.h>      //C语言
int main(){
	char c;
	scanf("%c",&c);
	printf("%d\n",c);
	return 0;
}


1021 成绩预算(1)

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

 

小鹭学习很认真,她本学期选修了一门课程,该课程的期末总评成绩由三部分组成,即总评成绩=平时成绩×10%+实验成绩×30%+期末笔试×60%。临近期末,小鹭已经知道了自己的平时成绩和实验成绩,如果她希望总评成绩能达到90分(含)以上,你能帮她估算一下期末笔试至少需要考多少分吗?

输入要求

 

输入两个浮点数分别代表平时成绩和实验成绩(每个数据在0~100分之间)

输出要求

 

输出一个数据表示估算的期末笔试需要考到的最低分数。保留1位小数。

输入样例

91 88.5

输出样例

90.6

提示

 

来源

NBU OJ

代码:

#include<stdio.h>      //C语言
int main(){
	double p,s;
	scanf("%lf%lf",&p,&s);
	printf("%.1f\n",(90-p*0.1-s*0.3)/0.6);
	return 0;
}


1022 简单加密

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

 

信息时代最怕的就是个人信息泄密。你现在已经掌握了一些编程技能,来尝试对信息进行简单的加密吧!给定任意两个字符,要求对它们进行加密。加密规则是:用原字符后的第3个字符来代替。如需要将信息“Hi”加密,H后面第3个字符是K,i后面第3个字符是l,因此“Hi”加密后为“Kl”。

输入要求

从键盘输入任意两个字符。输入时两个字符间没有空格。保证输入的字符范围为a~w或A~W

输出要求

按上述规则进行加密后输出。输出时两个字符间没有空格,输出完毕后换行。

输入样例

Hi

输出样例

Kl

提示

 

来源

NBU OJ

代码:

#include<stdio.h>           //C语言
int main(){
	char a,b;
	scanf("%c%c",&a,&b);
	printf("%c%c\n",a+3,b+3);
	return 0; 
} 


1023 字符加减运算

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

编写一个程序,求两个字符之间的加减运算。

输入要求

连续输入三个字符,其中第一个输入运算符号(+或者-),后两个输入字符。如+ab表示计算字符a与字符b相加的结果。

输出要求

输出两字符ASCII码值相加减的结果。

输入样例

-ab

输出样例

-1

提示

 

来源

NBU OJ

代码:

#include<stdio.h>           //C语言  法1
int main(){
	char x,a,b;
	scanf("%c%c%c",&x,&a,&b);
	if(x=='+') printf("%d\n",a+b);
	else printf("%d\n",a-b);
	return 0; 
} 
#include<stdio.h>        //C语言
int main(){
	char x,a,b,t=-1;
	scanf("%c%c%c",&x,&a,&b);
	if(x=='+') t=1;
	printf("%d\n",a+t*b);
	return 0; 
} 


1024 多项式求值(1)

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

 

已知x,求以下多项式的值:

输入要求

输入浮点数x。

输出要求

计算并输出y的值,保留1位小数。

输入样例

1

输出样例

11.0

提示

 

来源

NBU OJ

 代码:

#include<stdio.h>           //C语言
int main(){
	double x;
	scanf("%lf",&x);
	printf("%.1f\n",x*(2*x+1)+8);
	return 0;
}


1025 多项式求值(2)

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

 

已知x,计算以下多项式的值:

输入要求

输入浮点数x。

输出要求

计算并输出多项式的结果,保留1位小数。

输入样例

1

输出样例

10.0

提示

建议用double

来源

NBU OJ

 代码:

#include<stdio.h>            //C语言
int main(){
	double x;
	scanf("%lf",&x);
	printf("%.1f\n",x*x*(3*x*x-2*x-1)+10);
	return 0;
}


1026 居民电费

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

某地居民用电是这样计算的,正常使用部分每度0.538元,阶梯部分每度0.03元。某用户家9月份正常部分用电量为x度,阶梯部分y度,请编程计算该用户9月份应该缴纳的电费。

输入要求

输入x和y的值。

输出要求

输出应缴纳的电费,保留2位小数。

输入样例

10 10

输出样例

5.68

提示

建议所有数据类型都用double

来源

NBU OJ

代码:

#include<stdio.h>            //C语言
int main(){
	double x,y;
	scanf("%lf%lf",&x,&y);
	printf("%.2f\n",0.538*x+0.03*y);
	return 0;
}


1027 存款利息

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

 

输入存款金额money、存期year和年利率rate,根据公式计算存款到期时的利息interest。公式如下:

输入要求

输入存款金额money、存期year和年利率rate。

输出要求

输出到期时的利息,保留2位小数。

输入样例

1000 3 0.0415

输出样例

129.74

提示

建议用double

来源

NBU OJ

代码:

#include<stdio.h>        //C语言
#include<math.h>
int main(){
	double m,y,r;
	scanf("%lf%lf%lf",&m,&y,&r);
	printf("%.2f\n",m*(pow(1+r,y)-1));
	return 0;
}


1028 存款本息

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

输入人民币存款年利率I和存款总额S,计算满一年后本息合计并输出。

输入要求

输入年利率和存款总数。

输出要求

计算满一年后本息合计,保留两位小数。

输入样例

0.03 100000

输出样例

103000.00

提示

 

来源

NBU OJ

代码:

#include<stdio.h>         //C语言
int main(){
	double n,c;
	scanf("%lf%lf",&n,&c);
	printf("%.2f\n",c*(n+1));
	return 0;
}


1029 三位数的数位分离

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

从键盘输入一个任意的3位正整数,分别求出其个位、十位和百位上的数字。

输入要求

输入任意的一个三位正整数。

输出要求

依次输出个位、十位、百位上的数字。

输入样例

367

输出样例

7 6 3

提示

输出的数字以空格间隔,但最后一个数据的后面没有空格,直接换行。

来源

NBU OJ



代码:

#include<stdio.h>      //C语言  法1
int main(){
	int x;
	scanf("%d",&x);
	printf("%d %d %d\n",x%10,x/10%10,x/100);
	return 0;
}
#include<stdio.h>       //C语言  法2
int main(){
	int x,b,count=0;//count--计数 
	scanf("%d",&x);
	while(x>0){
		b=x%10;
		count++;
		if(count==3) printf("%d\n",b);
		else printf("%d ",b);
		x/=10;
	}
	return 0;
}

1030 棋盘上的麦粒

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

题目描述

 

舍罕是古印度的国王,据说他十分好玩。宰相依达尔为了讨好国王,发明了现今的国际象棋献给国王。国王非常喜欢,决定嘉奖宰相,许诺满足宰相提出的任何要求。宰相指着棋盘要求:“陛下,请您按棋盘的格子赏赐我一点小麦吧,第一个小格赏我1粒麦子,第二个小格赏我2粒,第三个小格赏4粒,以后每一小格都比前一个小格赏的麦子增加一倍,只要把棋盘上全部64个小格按这样的方法得到的麦子都赏赐给我,我就心满意足了”。国王听了宰相这个“小小”的要求,马上同意了。但是在给宰相麦子时,国王发现他要付出的比自己想象的要多得多,于是进行了计算,结果令他大惊失色。问题是:舍罕王的计算结果是多少粒麦子。

输入要求

输入一个整数n代表棋盘的格子,该数字大于1且小于等于64。如输入2,则表示有2个格子,第一个格子放1粒,第二个格子放2粒,则2个格子一共需要3粒麦子。

输出要求

输出n个格子需要的麦粒数。

输入样例

9

输出样例

511

提示

 

注意:本题输出数据可能极大。

如果麦粒数sum如下定义:

       unsigned __int64 sum;

 则计算完成后其输出形式为:

       printf("%I64u\n", sum);

来源

NBU OJ

代码:

#include<stdio.h>         //C语言
#include<math.h>
int main(){
	int n,i;
	unsigned __int64 sum=0;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		sum+=(unsigned __int64)pow(2,i);
	}
	printf("%I64u\n",sum);
	return 0;
}

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值