前言
提交代码:
选择C++
编程语言,因为有的时候会用到C++的一些方便的头文件什么的,还有我编写代码是有一部分是纯C的,因为做题来讲C的scanf和printf很方便。
发布文章安排:
我会抽时间发文章的,看时间安排了,现在时间有点紧吧。马上过年了。过完年要开始准备准备其他东西了
解题解法质量:
关于我的解法和代码的精简程度,我是以当时做题的心态来解题的,由于当时急着刷完所有题目,所以难免会有一些题应该有其他更优的解法,我却用了比较暴力一点的,毕竟当时的劳动强度有点大,抓进度来着,如果有更好的解法,欢迎联系我,或者直接评论,共同学习,共同进步!
联系方式:
如果有问题交流咨询,可以加入QQ群:673852347
其他未尽事宜,还望海涵!
1 求长方形的面积和周长
问题描述 :
求一个长方形的面积S及周长P。面积的公式为S = a × b,周长的公式P=2*(a+b),其中a代表长方形的长,b代表长方形的宽。
输入说明 :
你的程序需要从标准输入设备(通常为键盘)中读入两个整数:一个整数a(0 ≤a < 10000),代表长方形的长;一个整数b(0 ≤ b < 10000),代表长方形的宽;在a和b之间有一个空格;在行首和行尾没有多余的空格。
输出说明 :
你的程序需要向标准输出文件(通常为启动该程序的终端)输出对应的答案。答案占一行,其中包含两个整数,即长方行的面积和周长,中间以一个空格分隔。在行首和行尾不要输出多余的空格。
输入范例 :
40 5
输出范例 :
200 90
AC代码:
#include<stdio.h>//东华我来喽!
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d %d\n",a*b,2*(a+b));
return 0;
}
2 数列和
问题描述 :
尝试求从1+2+…+N这N个自然数的和。
输入说明 :
你的程序需要从标准输入设备(通常为键盘)中读入一个整数N(1 ≤ N < 10,000);在行首和行尾没有多余的空格。在所有数据的前后,以及两组数据之间都没有多余的空行。
输出说明 :
对每组测试数据,你的程序需要向标准输出设备(通常为启动该程序的终端)输出对应的答案,其中仅有一个整数,即题目描述中的数列之和。在行首和行尾不要输出多余的空格。
输入范例 :
10
输出范例 :
55
AC代码:
#include<stdio.h>//东华我来喽!
int main()
{
int N;
scanf("%d",&N);
printf("%d\n",N*(N+1)/2);
return 0;
}
3 解方程
问题描述 :
编写程序:输入a、b后,输出一元一次方程2ax+3*b-5=0的解。
输入说明 :
整数a b
输出说明 :
x 保留1位小数
输入范例 :
1 2
输出范例 :
-0.5
AC代码:
#include<stdio.h>//东华我来喽!
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%0.1f\n",(5-3*b)/2.0/a);
return 0;
}
4 一个月的天数
问题描述 :
输入年和月,输出该月有几天。
输入说明 :
输入两个整数,中间以空格分隔,第一个整数表示年,第二个整数表示月。
输出说明 :
输出该年该月的天数,输出时,行首与行尾均无空格,仅输出一个整数。
输入范例 :
2000 2
输出范例 :
29
AC代码:
#include<stdio.h>//东华我来喽!判断瑞年先
int main()
{
int a,b;
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d%d",&a,&b);
if( (a%100!=0 && a%4==0) || (a%400==0) )month[2]++;
printf("%d\n",month[b]);
return 0;
}
5 银行存款到期日
问题描述 :
银行存款有3个月、6个月定期等。从键盘输入一个日期(即为存款日期)以及定期的时间长度(单位为月,输入的时间长度可为小于等于60的任意正整数),请编程输出该定期存款的到期日期。 下面以3个月定期为例,说明定期的概念。
比如:
输入2014年4月30日,则到期日是2014年7月30日;
输入2014年3月31日,则到期日是2014年6月30日(6月没有31日,所以30日就到期);
输入2014年11月30日,则到期日是2015年2月28日;
输入2015年11月30日,则到期日是2016年2月29日。
输入说明 :
共输入4个整数,中间以空格分隔,第一个整数表示年,第二个整数表示月,第三个整数表示日,第四个整数表示定期长度(单位为月)。
输出说明 :
输出到期日期,共输出三个整数,中间以一个空格分隔,行首与行尾均无空格。
输入范例 :
2014 4 30 3
输出范例 :
2014 7 30
AC代码:
判断到几月份到期就行。如果到期那月明明没有31日,则要输出当前最大的日子。
#include<stdio.h>//东华我来喽!判断瑞年先
int main()
{
int yy,mm,dd,time;
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d%d%d%d",&yy,&mm,&dd,&time);
mm+=time;
while(mm>12) //可能存在月数大于1年,所以用while比较稳妥
{
mm-=12;
yy++;
}
if( (yy%100!=0 && yy%4==0) || (yy%400==0) )month[2]++;
printf("%d %d %d\n",yy,mm,dd<month[mm]?dd:month[mm]);
return 0;
}
(交流技术,分享经验:编程交流Q群:673852347
)