7-1 A除以B
真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。
输入格式:
输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。
输出格式:
在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error
。输出的商应保留小数点后2位。
输入样例1:
-1 2
输出样例1:
-1/2=-0.50
输入样例2:
1 -3
输出样例2:
1/(-3)=-0.33
输入样例3:
5 0
输出样例3:
5/0=Error
代码段:
#include <stdio.h>
int main()
{
float a,b,c;
scanf("%f %f",&a,&b);
if(b==0)
printf("%.0f/%.0f=Error",a,b);
else if(b>0)
{
c=a/b;
printf("%.0f/%.0f=%.2f",a,b,c);
}
else if(b<0)
{
c=a/b;
printf("%.0f/(%.0f)=%.2f",a,b,c);
}
return 0;
}
7-2 出租车计价
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
- 起步里程为3公里,起步费10元;
- 超起步里程后10公里内,每公里2元;
- 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
- 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
输入格式:
输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。
输出格式:
在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。
输入样例1:
2.6 2
输出样例1:
10
输入样例2:
5.1 4
输出样例2:
14
输入样例3:
12.5 9
输出样例3:
34
代码段:
#include <stdio.h>
int main()
{
float s,ms,mt,m;
int t;
scanf("%f %d",&s,&t);
if(s<3)
ms=10;
else if(s<10)
ms=10+(s-3)*2;
else if(s>10)
ms=10+14+(s-10)*3;
mt=t/5*2;
m=ms+mt;
printf("%.0f",m);
}
7-3 输出英文字母的前驱和后继字母
从键盘输入一个英文字母,输出其前驱字母(即前一个字母)、后继字母(即后一个字母)及其ASCII值。比如输入的字母是b,则前驱字母是a,后继字母是c。而如果输入的字母是a,则前驱字母是z,后继字母是b;如果输入的字母是z,则前驱字母是y,后继字母是a。
大写字母的前驱后继字母求法与小写字母相同。
输入格式:
输入一个英文字母(大写或小写字母)。
输出格式:
第一行输出该字母的前驱字母及其ASCII值,第二行输出后继字母及其ASCII值,字母与ASCII值之间用一个空格分隔。
输入样例1:
b
输出样例1:
a 97
c 99
输入样例2:
a
输出样例2:
z 122
b 98
代码段:
#include <stdio.h>
int main()
{
char a;
scanf("%c",&a);
if((65<a&&a<90)||(97<a&&a<122))
{
printf("%c %d\n",a-1,a-1);
printf("%c %d",a+1,a+1);
}
if(a==65)
{
printf("Z 90\n");
printf("B 66");
}
if(a==90)
{
printf("Y 89\n");
printf("A 65");
}
if(a==97)
{
printf("z 122\n");
printf("b 98");
}
if(a==122)
{
printf("y 121\n");
printf("a 97");
}
}
7-4 后天
如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。
输入格式:
输入第一行给出一个正整数D
(1 ≤ D
≤ 7),代表星期里的某一天。
输出格式:
在一行中输出D
天的后天是星期几。
输入样例:
3
输出样例:
5
代码段 :
#include<stdio.h>
int main()
{
int D;
scanf("%d",&D);
if(D<6) {
printf("%d\n",D+2);
}else{
printf("%d", D -5);}
return 0;
}
7-5 后天日期
给定一个日期,格式为yyyy-mm-dd(年份-月份-日期),计算并输出后天的日期,格式为yyyy.mm.dd(4位年份.2位月份.2位日期)。例如:输入2001-12-31,输出为:2002.01.02。
输入格式:
输入以"-"分隔的年月日。
输出格式:
输出计算后的后天的日期,以"."分隔。行末无多余字符。
输入样例 1:
2001-12-31
输出样例 1:
2002.01.02
输入样例 2:
2008-2-28
输出样例 2:
2008.03.01
代码段:
#include <stdio.h>
int main()
{
int y,m,d,rn;
scanf("%d-%d-%d",&y,&m,&d);
if((y%400==0)||(y%4==0&&y%100!=0))
rn=1;
else rn=0;
if(rn==1)
if((d==30||d==31)&&(m==1||m==3||m==5||m==7||m==8||m==10))
printf("%d.%02d.%02d",y,m+1,d+2-31);
else if((d==30||d==31)&&m==12)
printf("%d.%02d.%02d",y+1,1,d+2-31);
else if((d==29||d==30)&&(m==4||m==6||m==9||m==11))
printf("%d.%02d.%02d",y,m+1,d+2-30);
else if((d==28||d==29)&&m==2)
printf("%d.%02d.%02d",y,3,d+2-29);
else printf("%d.%02d.%02d",y,m,d+2);
if(rn==0)
if((d==30||d==31)&&(m==1||m==3||m==5||m==7||m==8||m==10))
printf("%d.%02d.%02d",y,m+1,d+2-31);
else if((d==30||d==31)&&m==12)
printf("%d.%02d.%02d",y+1,1,d+2-31);
else if((d==29||d==30)&&(m==4||m==6||m==9||m==11))
printf("%d.%02d.%02d",y,m+1,d+2-30);
else if((d==28||d==27)&&m==2)
printf("%d.%02d.%02d",y,3,d+2-28);
else printf("%d.%02d.%02d",y,m,d+2);
}
7-6 计算工资
某公司员工的工资计算方法如下:一周内工作时间不超过40小时,按正常工作时间计酬;超出40小时的工作时间部分,按正常工作时间报酬的1.5倍计酬。员工按进公司时间分为新职工和老职工,进公司不少于5年的员工为老职工,5年以下的为新职工。新职工的正常工资为30元/小时,老职工的正常工资为50元/小时。请按该计酬方式计算员工的工资。
输入格式:
输入在一行中给出2个正整数,分别为某员工入职年数和周工作时间,其间以空格分隔。
输出格式:
在一行输出该员工的周薪,精确到小数点后2位。
输入样例1:
5 40
输出样例1:
2000.00
输入样例2:
3 50
输出样例2:
1650.00
代码段:
#include <stdio.h>
int main()
{
int y,h,ym;
float hm;
scanf("%d %d",&y,&h);
if(y>=5)
ym=50;
else ym=30;
if(h<=40)
hm=ym*h;
else hm=ym*40+(h-40)*ym*1.5;
printf("%.2f",hm);
}
7-7 能买手机吗?
小吴同学想换一部手机,希望自己自力更生获得。于是,小吴准备暑假兼职获取酬劳。今天看到一则招聘启示,薪资标准为:每周工作40小时以内,每小时基本工资20元;超出时间为加班,每小时工资翻倍。公司规定,每周加班不能超过10小时。
现在,小吴想知道,若在此公司工作,要在一个月内(4周)挣到购买手机的资金,需要工作的时长。请你编写一个程序,替小吴算算,购买不同的手机需要加班的最短时长。
输入格式:
输入小吴想买的手机价格Price,Price为正整数。
输出格式:
给出是否需要加班的结论。若需要加班,给出需加班时长(整数)。并给出是否能购买此手机的建议。
输入样例 1:
2000
输出样例 1:
不需加班,可购买
输入样例 2:
5000
输出样例 2:
需加班45小时,买不起
输入样例 3:
4500
输出样例 3:
需加班33小时,可购买
代码段:
#include<stdio.h>
int main()
{
int Price;
scanf("%d", &Price);
if (40 * 20 * 4 > Price)
{
printf("不需加班,可购买");
}
else
{
int day = (Price - 40 * 20 * 4)/(20*2);
int s = (Price - 40 * 20 * 4) % (20 * 2);
if (s != 0)
{
day += 1;
}
if (day > 10 * 4)
{
printf("需加班%d小时,买不起", day);
}
else
{
printf("需加班%d小时,可购买", day);
}
}
return 0;
}
7-8 谁是赢家
某电视台的娱乐节目有个表演评审环节,每次安排两位艺人表演,他们的胜负由观众投票和 3 名评委投票两部分共同决定。规则为:如果一位艺人的观众票数高,且得到至少 1 名评委的认可,该艺人就胜出;或艺人的观众票数低,但得到全部评委的认可,也可以胜出。节目保证投票的观众人数为奇数,所以不存在平票的情况。本题就请你用程序判断谁是赢家。
输入格式:
输入第一行给出 2 个不超过 1000 的正整数 Pa 和 Pb,分别是艺人 a 和艺人 b 得到的观众票数。题目保证这两个数字不相等。随后第二行给出 3 名评委的投票结果。数字 0 代表投票给 a,数字 1 代表投票给 b,其间以一个空格分隔。
输出格式:
按以下格式输出赢家:
The winner is x: P1 + P2
其中 x
是代表赢家的字母,P1
是赢家得到的观众票数,P2
是赢家得到的评委票数。
输入样例:
327 129
1 0 1
输出样例:
The winner is a: 327 + 1
代码段:
# include<stdio.h>
int main()
{
int pa,pb,p1,p2,p3,count;
scanf("%d %d\n",&pa,&pb);
scanf("%d %d %d",&p1,&p2,&p3);
count=p1+p2+p3;
if(pa>pb&&count!=3)
{
printf("The winner is a: %d + %d",pa,3-count);
}
else
{
printf("The winner is b: %d + %d",pb,count);
}
return 0;
}
7-9 比较大小
本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
代码段:
#include<stdio.h>
int main()
{
int x,y,z,min;
scanf("%d %d %d",&x,&y,&z);
if(x>y)
{
min = x;
x = y;
y = min;
}
if(x>z)
{
min = x;
x = z;
z = min;
}
if(y>z)
{
min = y;
y = z;
z = min;
}
printf("%d->%d->%d",x,y,z);
return 0;
}