7-2 比較大?。?0 分)
本題要求將輸入的任意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;
}