7-1 計算攝氏溫度(10 分)
給定一個華氏溫度F,本題要求編寫程序,計算對應的攝氏溫度C。計算公式:C=5×(F?32)/9。題目保證輸入與輸出均在整型范圍內。
輸入格式:
輸入在一行中給出一個華氏溫度。
輸出格式:
在一行中按照格式“Celsius = C”輸出對應的攝氏溫度C的整數值。
輸入樣例:
150
輸出樣例:
Celsius = 65
源碼
int Celsius,f;
scanf("%d",&f);
Celsius=5*(f-32)/9;
printf("Celsius = %d",Celsius);
return 0;
7-2 計算分段函數[1](10 分)
本題目要求計算下列分段函數f(x)的值:
輸入格式:
輸入在一行中給出實數x。
輸出格式:
在一行中按“f(x) = result”的格式輸出,其中x與result都保留一位小數。
輸入樣例1:
10
輸出樣例1:
f(10.0) = 0.1
輸入樣例2:
0
輸出樣例2:
f(0.0) = 0.0
源碼
double x,y;
scanf("%lf",&x);
if(x!=0){
y=1/x;
}else{
y=0;
}
printf("f(%.1lf) = %.1lf",x,y);
return 0;
7-3 計算存款利息(10 分)
本題目要求計算存款利息,計算公式為interest=money×(1+rate)?year?? ?money,其中interest為存款到期時的利息(稅前),money是存款金額,year是存期,rate是年利率。
輸入格式:
輸入在一行中順序給出三個正實數money、year和rate,以空格分隔。
輸出格式:
在一行中按“interest = 利息”的格式輸出,其中利息保留兩位小數。
輸入樣例:
1000 3 0.025
輸出樣例:
interest = 76.89
源碼
#include <stdio.h>
#include <math.h>
//別忘了加math頭文件
int main() {
double year,interest,rate,money;
scanf("%lf %lf %lf",&money,&year,&rate);
interest = money * pow(1 + rate,year) - money;
printf("interest = %.2f",interest);
return 0;
}
7-4 計算分段函數[2](10 分)
本題目要求計算下列分段函數f(x)的值:
注:可在頭文件中包含math.h,并調用sqrt函數求平方根,調用pow函數求冪。
輸入格式:
輸入在一行中給出實數x。
輸出格式:
在一行中按“f(x) = result”的格式輸出,其中x與result都保留兩位小數。
輸入樣例1:
10
輸出樣例1:
f(10.00) = 3.16
輸入樣例2:
-0.5
輸出樣例2:
f(-0.50) = -2.75
源碼
#include <stdio.h>
#include <math.h>
int main() {
double x,y;
scanf("%lf",&x);
if(x>=0){
y=pow(x,0.5);
}else{
y=pow(x+1,2)+2*x+1/x;
}
printf("f(%.2lf) = %.2lf",x,y);
return 0;
}
7-5 求整數均值(10 分)
本題要求編寫程序,計算4個整數的和與平均值。題目保證輸入與輸出均在整型范圍內。
輸入格式:
輸入在一行中給出4個整數,其間以空格分隔。
輸出格式:
在一行中按照格式“Sum = 和; Average = 平均值”順序輸出和與平均值,其中平均值精確到小數點后一位。
輸入樣例:
1 2 3 4
輸出樣例:
Sum = 10; Average = 2.5
源碼
int num1,num2,num3,num4,sum;
double Average;
scanf("%d %d %d %d",&num1,&num2,&num3,&num4);
sum=num1+num2+num3+num4;
Average=sum*1.0/4;
printf("Sum = %d; Average = %.1lf",sum,Average);
return 0;
7-6 階梯電價(15 分)
為了提倡居民節約用電,某省電力公司執行“階梯電價”,安裝一戶一表的居民用戶電價分為兩個“階梯”:月用電量50千瓦時(含50千瓦時)以內的,電價為0.53元/千瓦時;超過50千瓦時的,超出部分的用電量,電價上調0.05元/千瓦時。請編寫程序計算電費。
輸入格式:
輸入在一行中給出某用戶的月用電量(單位:千瓦時)。
輸出格式:
在一行中輸出該用戶應支付的電費(元),結果保留兩位小數,格式如:“cost = 應付電費值”;若用電量小于0,則輸出"Invalid Value!"。
輸入樣例1:
10
輸出樣例1:
cost = 5.30
輸入樣例2:
100
輸出樣例2:
cost = 55.50
源碼
int e;
double m;
scanf("%d",&e);
if(e<0){
printf("Invalid Value!");
}
else if(e<=50){
m=0.53*e;
printf("cost = %.2lf",m);
}else{
m=0.53*50+0.58*(e-50);
printf("cost = %.2lf",m);
}
return 0;
7-7 計算火車運行時間(15 分)
本題要求根據火車的出發時間和達到時間,編寫程序計算整個旅途所用的時間。
輸入格式:
輸入在一行中給出2個4位正整數,其間以空格分隔,分別表示火車的出發時間和到達時間。每個時間的格式為2位小時數(00-23)和2位分鐘數(00-59),假設出發和到達在同一天內。
輸出格式:
在一行輸出該旅途所用的時間,格式為“hh:mm”,其中hh為2位小時數、mm為2位分鐘數。
輸入樣例:
1201 1530
輸出樣例:*
03:29
源碼
int main(void) {
int num1,num2,hh,mm;
scanf("%d %d",&num1,&num2);
hh=num2/100-num1/100;
mm=num2%100-num1%100;
if(mm<0){
mm+=60;
hh-=1;
}
printf("%02d:%02d",hh,mm);
return 0;
}
%f與%lf的區別
%f讀取8個字節,%lf也讀取8個字節。
%f 浮點數(包括float和double)
%lf為long double類型