东华大学复试上机题1-5
1
求长方形的面积和周长
作者: Hu Yongjian 时间限制: 1S章节: 顺序结构
问题描述 :
求一个长方形的面积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
答案
#include <stdio.h>
int main()
{
int a,b,S,P;
scanf("%d %d\n",&a,&b);
S=a*b;
P=2*(a+b);
printf("%d %d",S,P);
return 0;
}
2
数列和
作者: Hu Yongjian 时间限制: 1S章节: 顺序结构
问题描述 :
尝试求从1+2+…+N这N个自然数的和。
输入说明 :
你的程序需要从标准输入设备(通常为键盘)中读入一个整数N(1 ≤ N < 10,000);在行首和行尾没有多余的空格。在所有数据的前后,以及两组数据之间都没有多余的空行。
输出说明 :
对每组测试数据,你的程序需要向标准输出设备(通常为启动该程序的终端)输出对应的答案,其中仅有一个整数,即题目描述中的数列之和。在行首和行尾不要输出多余的空格。
输入范例 :
10
输出范例 :
55
答案
#include <stdio.h>
int main()
{
int n,i,b=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
b=b+i;
printf("%d",b);
return 0;
}
3
解方程
作者: 江宝钏时间限制: 1S章节: 顺序结构
问题描述 :
编写程序:输入a、b后,输出一元一次方程2ax+3*b-5=0的解。
输入说明 :
整数a b
输出说明 :
x 保留1位小数
输入范例 :
1 2
输出范例 :
-0.5
答案
#include <stdio.h>
int main()
{
int a,b;
double x;
scanf("%d %d",&a,&b);
x=(double)(5-3*b)/2/a;
printf("%.1f",x);
return 0;
}
4
一个月的天数
作者: Turbo时间限制: 1S章节: 分支结构
问题描述 :
输入年和月,输出该月有几天。
输入说明 :
输入两个整数,中间以空格分隔,第一个整数表示年,第二个整数表示月。
输出说明 :
输出该年该月的天数,输出时,行首与行尾均无空格,仅输出一个整数。
输入范例 :
2000 2
输出范例 :
29
答案
#include <stdio.h>
int main()
{
int year,month,day=30;
scanf("%d %d",&year,&month);
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
day+=1;
else if(month==4||month==6||month==9||month==11)
day=30;
else if(month==2)
if((year%4==0&&year%100!=0)||year%400==0){
day-=1;
}else{
day-=2;
}
printf("%d",day);
return 0;
}
5
银行存款到期日
作者: Turbo时间限制: 1S章节: 分支结构
问题描述 :
银行存款有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
答案
#include <stdio.h>
int main()
{
int year,month,day,i;
scanf("%d %d %d %d",&year,&month,&day,&i);
month=month+i;
while(month>12)
{
year++;
month=month-12;
}
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
day=day;
if(month==4||month==6||month==9||month==11)
if(day==31)
day=30;
if(month==2)
if(day>=29){
if((year%4==0&&year%100!=0)||year%400==0){
day=29;
}else{
day=28;
}
}
printf("%d %d %d",year,month,day);
return 0;
}