7-2 比较大小(10 分)
本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
程序源码
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (a > b) {
int temp1 = a;
a = b;
b = temp1;
}
if (a > c) {
int temp2 = a;
a = c;
c = temp2;
}
if (b > c) {
int temp3 = b;
b = c;
c = temp3;
}
printf("%d->%d->%d",a,b,c);
return EXIT_SUCCESS;
}
7-3 两个数的简单计算器(10 分)
本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。
输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。
输出格式:
当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。
输入样例1:
-7 / 2
输出样例1:
-3
输入样例2:
3 & 6
输出样例2:
ERROR
程序源码
#include<stdio.h>
int main(){
int num1,num2;
char op;
scanf("%d %c %d",&num1,&op,&num2);
switch(op){
case'+':printf("%d",num1+num2);break;
case'-':printf("%d",num1-num2);break;
case'*':printf("%d",num1*num2);break;
case'/':printf("%d",num1/num2);break;
case'%':printf("%d",num1%num2);break;
default:printf("ERROR");break;
}
return 0;
}
7-7 计算油费(15 分)
现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。
本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。
输入格式:
输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)。
输出格式:
在一行中输出应付款额,保留小数点后2位。
输入样例:
40 97 m
输出样例:
301.34
程序源码
#include<stdio.h>
int main() {
int num1,num2;
char c;
scanf("%d %d %c",&num1,&num2,&c);
switch(num2) {
case 90:
switch(c) {
case 'm':
printf("%.2lf",num1*6.95*0.95);
break;
case 'e':
printf("%.2lf",num1*6.95*0.97);
break;
}
break;
case 93:
switch(c) {
case 'm':
printf("%.2lf",num1*7.44*0.95);
break;
case 'e':
printf("%.2lf",num1*7.44*0.97);
break;
}
break;
case 97:
switch(c) {
case 'm':
printf("%.2lf",num1*7.93*0.95);
break;
case 'e':
printf("%.2lf",num1*7.93*0.97);
break;
}
break;
}
return 0;
}
7-8 输出闰年(15 分)
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。
输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。
输入样例1:
2048
输出样例1:
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
输入样例2:
2000
输出样例2:
Invalid year!
程序源码
#include<stdio.h>
int main() {
int year,count=0;
scanf("%d",&year);
if(year>2100||year<=2000) {
printf("Invalid year!");
} else {
for(int i=2001; i<=year; i++) {
if((i%4==0&&i%100!=0)||(i%400==0)) {
count=1;
printf("%d\n",i);
}
}
if(count==0){
printf("None");
}
}
return 0;
}