每日学习 1071--1080

1071 区间内5和7的整倍数

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

提交数 : 19949 | 通过数 : 6419

题目描述

给定一个正整数n,试编程输出n以内能被5和7整除的数。(不包括n)

输入要求

输入一个正整数n。

输出要求

输出n以内能被5和7整除的数。

输入样例

100

输出样例

35 70 

提示

每个数据后面都输出一个空格。

来源

NBU OJ

代码:

#include         //C语言
int main(){
	int n,i;
	scanf("%d",&n);
	for(i=1;i


1072 是否闰年

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

提交数 : 20401 | 通过数 : 10771

题目描述

写一程序判断某一年是否是闰年。

输入要求

输入一个整数表示年份

输出要求

判断该年份是否为闰年,如果不是就输出no ,是就输出yes

输入样例

2000

输出样例

yes

提示

判断闰年的条件是:能被4整除但不能被100整除,或者能被400整除。

来源

NBU OJ

代码:

#include            //C语言
int main(){ 
	int n;
	scanf("%d",&n);
	if(n%4==0&&n%100!=0||n%400==0) printf("yes\n");
	else printf("no\n");
	return 0;
}


1073 模拟万年历

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

提交数 : 18055 | 通过数 : 8214

题目描述

CoCo和Tom是一对好拍档,他们两个经常相互比赛记忆能力。今天他们的比赛项目就是模拟万年历,即任何一方随意报出一个年份和月份,另一方需要快速报出这个月份有多少天。Mary做裁判,捧了一本万年历在旁边拼命翻,看他们回答的是否正确。假如CoCo报的是2020年的2月,那么Tom需要快速回答29才算是正确的。(小提示,这里面其实最麻烦的是闰年问题,其他都好解决的拉)

输入要求

从键盘输入两个整数表示年和月的数值。如2020 2表示2020年的2月份。假设输入数据都是有效的。

输出要求

输出该月的天数。

输入样例

2020 2

输出样例

29

提示

 
  

来源

NBU OJ

代码:

#include     //C 法1
int main(){
	int y,m;
	int mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
	scanf("%d%d",&y,&m);
	if(y%4==0&&y%100!=0||y%400==0) mon[2]=29;
	else mon[2]=28;
	printf("%d\n",mon[m]);
	return 0; 
}
#include              //C语言 法2
int main(){
	int n,m,d=0;
	scanf("%d%d",&n,&m);
	if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) d=31;
	else if(m==2){
		if(n%4==0&&n%100!=0||n%400==0) d=29;
		else d=28;
	}
	else d=30;
	printf("%d\n",d);
	return 0;
}


1074 实际年龄

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

提交数 : 14409 | 通过数 : 5498

题目描述

小时候老盼着长大,长大后又盼着自己不要老的太快:)。讲虚岁什么的太伤感情了,还是来算算实际年龄吧。先输入某人的生日(年:y0,月:m0,日:d0),再输入当前的日期(年:y1,月:m1,日:d1),请计算该人的实足年龄。

输入要求

输入6个整型数据,用空格隔开,依次代表y0、m0、d0、y1、m1、d1的值。(假设y0<=y1。具体格式见样例)

输出要求

输出该人的实足年龄。(计算规则见样例)

输入样例

2015 1 2
2016 1 2

输出样例

1

提示

 
  

来源

NBU OJ

代码:

#include           //C语言
int main(){
	int y0,m0,d0,y1,m1,d1;
	scanf("%d%d%d%d%d%d",&y0,&m0,&d0,&y1,&m1,&d1);
	if(m1


1075 求年月日

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

提交数 : 13658 | 通过数 : 6248

题目描述

输入年份和这一年的第几天,输出具体的年、月、日的信息。(注意闰年的判断!)

输入要求

输入两个整数分别代表年份和这一年的第几天。(假设数据都在有效范围内)

输出要求

输出对应的年、月、日。输出的数字之间以一条横线间隔,输出完毕换行。

输入样例

2011 20

输出样例

2011-1-20


提示

 
  

来源

NBU OJ

代码:

说一下子,这个方法(法1)是搜出来的,思想挺不错的,放在下面当个人笔记记着了。

#include     //C语言 法1
int main(){
	int y,m,d,i,days,days1=0,days2=0;
	int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	scanf("%d%d",&y,&days);
	if(y%4==0&&y%100!=0||y%400==0) month[1]=29;
	for(i=0;i<12;i++){
		days1+=month[i];
		if(i<=10) days2+=month[i]+month[i+1];
		else if(i==11) days2+=month[i];
		if(days1==days) m=i+1,d=month[i];
		else if(days>days1&&days

法2是靠数数出来的,太过拙劣,这里就不写出来了。


1076 a^2+b^2

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

提交数 : 10015 | 通过数 : 5958

题目描述

输入整数a和b,若a的平方加上b的平方大于等于100,则输出a^2+b^2 百位以上的数字,否则输出a^2+b^2之和。

输入要求

输入整数a和b。

输出要求

输出对应结果。

输入样例

10 0

输出样例

1

提示

 
  

来源

NBU OJ

代码:

#include       //C语言
int main(){
	int a,b,y;
	scanf("%d%d",&a,&b);
	y=a*a+b*b;
	if(y>=100) y/=100;
	printf("%d\n",y);
	return 0;
} 


1077 四位数数字加密

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

提交数 : 13628 | 通过数 : 5954

题目描述

 
  

输入一个四位数,将其加密后输出。加密的规则如下:将该数每一位上的数字加9,然后除以10取余作为该位上的新数字,最后将千位和十位上的数字互换、百位和个位上的数字互换,组成加密后的新数字。高位若为0的也要输出。

输入要求

 
  

输入一个四位数。(保证输入的是有效的四位数)

输出要求

 
  

输出加密后的新数

输入样例

1238

输出样例

2701

提示

 
  

来源

NBU OJ

代码:

#include           //C语言
int main(){
	int x,g=0,s=0,b=0,q=0;
	scanf("%d",&x);
	g=(x%10+9)%10;
	s=(x/10%10+9)%10;
	b=(x/100%10+9)%10;
	q=(x/1000+9)%10;
	printf("%d%d%d%d\n",s,g,q,b);
	return 0;
}


1078 加油站加油

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

提交数 : 10039 | 通过数 : 5516

题目描述

 
  

某加油站提供三种汽油和一种柴油,售价分别为:

90号汽油:5.14元/升

93号汽油:5.54元/升

97号汽油:5.90元/升

0号柴油:5.13元/升

另外,加油站还提供“自助加油”或“协助加油”两个服务等级,如果是自助加油则可以获得5%的优惠,如果是工作人员协助加油则只有2%的优惠。编程实现针对用户加油量、油的品种和服务类型,计算用户应付的金额。

输入要求

 
  

输入三个数据,第一个浮点数表示加油量(升),第二个整数表示油品类型(如90、93、97、0),第三个整数(1表示自助加油,2表示协助加油)。假设输入数据都有效。

输出要求

 
  

计算并输出用户应付的金额。保留2位小数。

输入样例

50 93 2

输出样例

271.46

提示

 
  

来源

NBU OJ

代码:

#include        //C语言
int main(){
	double a,F;
	int b,c;
	scanf("%lf%d%d",&a,&b,&c);
	if(c==1) F=0.95*a;
	else F=0.98*a;
	if(b==90) a=5.14*F;
	else if(b==93) a=5.54*F;
	else if(b==97) a=5.9*F;
	else a=5.13*F; 
	printf("%.2f\n",a);
}


1079 日K蜡烛图

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

提交数 : 12111 | 通过数 : 3192

题目描述

 
  

股票真是让人又爱又恨。股票价格的涨跌趋势常用蜡烛图技术中的K线图来表示,分别为日K线、周K线、月K线等。以日K线为例,每天对应一根蜡烛小图,每天股票价格从开盘到收盘走完一天后,在一天对应的蜡烛图中,要表示4个价格:开盘价格Open(早上开盘买卖成交的第一笔价格)、收盘价格Close(下午收盘时最后一笔成交的价格)、全天的最高价High和最低价Low。如果收盘价格低于开盘价,表示为“实心蓝白蜡烛”;如果收盘价格高于开盘价,表示为“空心红蜡烛”;如果开盘价等于收盘价,则为“十字红蜡烛”。如果最低价格比开盘价和收盘价低,称为“有下影线”;如果最高价格比收盘价和开盘价高,称为“有上影线”。请设计程序,根据给定的4个价格组合,输出当日的蜡烛是怎么样的。

输入要求

 
  

输入4个价格(开盘价格、最高价格、最低价格、收盘价格)

输出要求

 
  

输出蜡烛图的两个特性:

(1)是否是实心蓝白蜡烛(solid blue and white candle)、或空心红蜡烛(hollow red candle)、或十字红蜡烛(cross red candle)

(2)是否有上影线(upper shadow)和(或)下影线(lower shadow)。无影线特性的就不用输出。

输入样例

6.110 6.250 6.100 6.105

输出样例

solid blue and white candle,upper shadow,lower shadow

提示

 
  

注意:如果要输出upper shadow时前面加个逗号;如果要输出lower shadow时前面加个逗号。

来源

《C语言程序设计经典实验案例集》

代码:

#include              //C语言
int main(){
	double o,h,l,c;
	scanf("%lf%lf%lf%lf",&o,&h,&l,&c);
	if(co) printf("hollow red candle");
	else printf("cross red candle");
	if(h>c&&h>o) printf(",upper shadow");
	if(l


1080 画正方形

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

提交数 : 9866 | 通过数 : 5214

题目描述

 
  

给定一个整数n,输出一个由字符“*”组成的边长为n的中空的正方形。

输入要求

 
  

输入一个整数n

输出要求

 
  

输出一个由字符“*”组成的边长为n的中空的正方形。

输入样例

5

输出样例

*****
*   *
*   *
*   *
*****

提示

 
  

来源

NBU OJ

代码:

#include             //C语言
int main(){
	int n,i,j;
	scanf("%d",&n);
	for(i=0;i

你可能感兴趣的:(c语言)