华南农业大学C语言程序设计课后习题(第四章)
18042 计算分段函数值
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0
题型: 编程题 语言: G++;GCC;VC
Description 根据如下数学公式,编写程序输入x,计算并输出y的值,保留两位小数
输入格式 输入一个实数x
输出格式 输出函数值
输入样例 0
输出样例 0.00
#include<stdio.h>
int main()
{
double x,y;
scanf("%lf",&x);
if(x<1)
y=x;
else if(1<=x&&x<10)
y=2*x-1;
else
y=3*x-11;
printf("%.2f",y);
return 0;
}
18043 找出3个数中最大的数
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0
题型: 编程题 语言: G++;GCC;VC
Description 编写程序,由键盘输入3个整数,输出其中最大的数。
输入格式 三个整数,空格分隔
输出格式 最大的数
输入样例 3 6 4
输出样例 6
#include<stdio.h>
int main()
{
int a,b,c,max;
scanf("%i%i%i",&a,&b,&c);
max=a>b?a:b;
printf("%i",max=max>c?max:c);
return 0;
}
18044 成绩等级评分
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0
题型: 编程题 语言: G++;GCC;VC
Description 编写程序,由键盘输入一个百分制的整数成绩,要求输出对应的成绩等级。90分以上为A,80到89分为B,70到79分为C,60到69分为D,
60分以下为E。成绩不在0到100之间时输出“error”
输入格式 一个整数成绩
输出格式 输出对应的等级或error
输入样例 99
输出样例 A
#include<stdio.h>
int main()
{
int s;
scanf("%d",&s);
if(100>=s&&s>=90)
printf("A");
else if(s<90&&s>=80)
printf("B");
else if(s>=70&&s<80)
printf("C");
else if(60<=s&&s<70)
printf("D");
else if(0<=s&&s<60)
printf("E");
else
printf("error");
return 0;
}
18045 前一个和后一个字符
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0
题型: 编程题 语言: G++;GCC;VC
Description 编写程序,输入一个数字字符,输出其前一个和后一个的数字字符,如果输入的是0前一个输出
“first”,9后一个则输出“last”,输入的不是数学字符,输出“error”
输入格式 一个字符
输出格式 输出结果
输入样例 0
输出样例 first 1
#include<stdio.h>
int main()
{
char a,b,t;
scanf("%c",&t);
if(t>'0'&&t<'9')
{
a=t+1;
b=t-1;
printf("%c %c",b,a);
}
else if(t=='0')
printf("first 1");
else if(t=='9')
printf("8 last");
else
printf("error");
return 0;
}
18037 20秒后的时间
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0
题型: 编程题 语言: G++;GCC
Description 编写程序,输入三个整数变量hour(小时)、minute(分钟)、second(秒)代表一个时间,
输出该时间20秒以后的时间。
输入格式 一行三个整数,分别代表小时、分钟、秒,中间使用冒号分隔
输出格式 输出一个时间,数字间用冒号分隔
小时、分钟、秒均占两个数字位,不足位用0补足
输入样例 15:30:41
输出样例 15:31:01
#include<stdio.h>
int main()
{
int h,m,s;
scanf("%d:%d:%d",&h,&m,&s);
if(h>=0&&h<24&&m>=0&&m<60&&s>=0&&s<60)
{
if(s+20>=60)
{
s=s-40;
if(m==59)
{
if(h==23)
h=0;
else
h++;
m=0;
}
else
m++;
}
else
s=s+20;
}
printf("%02d:%02d:%02d",h,m,s);
return 0;
}
18041 分期还款(加强版)
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0
题型: 编程题 语言: G++;GCC;VC
Description 从银行贷款金额为d,准备每月还款额为p,月利率为r。请编写程序输入这三个数值,计算并输出多少个月能够还清贷款,输出时保留1位小数。
如果无法还清,请输出“God”
计算公式如下:
输入格式 三个数,分别为货款金额、每月还款和月利率,以空格分隔,均为非负数,其中d,p,r>=0
输出格式 需要还款的月份
输入样例 50 50 0.01
输出样例 1.0
#include<stdio.h>
#include<math.h>
int main()
{
double d,p,r;
scanf("%lf%lf%lf",&d,&p,&r);
if(d==0)
printf("0.0\n");
else if(d*(1+r)-p-d>1e-3)
printf("God\n");
else
printf("%.1f",log10(p/(p-d*r))/log10(r+1));
return 0;
}