Day11- 綜合練習
那我們上一篇和上上一篇教完了if..else和switch的用法
以下是綜合練習
範例1: 季節判斷
#include<stdio.h>
#include<stdlib.h>
int main (void){
int month;
printf("請輸入月份:");
scanf("%d",&month);
if(month>=1 && month<=3)
printf("%d 月是春天\n",month);
else if(month<=6)
printf("%d月是夏天\n",month);
else if(month<=9)
printf("%d月是秋天\n",month);
else if(month<=12)
printf("%d月是冬天\n",month);
else
printf("不合法的月份\n");
system("pause");
return 0;
}
印出:
範例2: 解元二次方程式
#include<iostream>
#include<math.h>
using namespace std;
int main(){
double a,b,c;
cout<<"ax^2+bx+c=0\n請依序輸入a,b,c\n";
cin>>a>>b>>c;
cout<<"答案是:";
if(pow(b, 2)-4*a*c>0)
cout<< ((-1) * b + sqrt (pow(b, 2)-4 * a * c)) / 2 / a <<" " <<(-b-sqrt(pow(b, 2)-4 * a *c))/ 2 / a <<endl;
else if(pow(b, 2)-4 * a * c==0)
cout<< (-1) * b / 2 /a << endl;
else
cout<<"無解\n";
system("pause");
return 0;
}
印出:
解釋:第六行符號^表示某變數的次方
範例3:電力公司計算方式
#include<stdio.h>
#include<stdlib.h>
/*家庭用電*/
#define TypeA1 2 /*家庭用電100度以下,每度2元*/
#define TypeA2 3 /*家庭用電101度以上,300度以下,每度3元*/
#define TypeA3 4 /*家庭用電301度以上,每度4元*/
/*工業用電*/
#define TypeB1 200 /*工業用電契約馬力,每馬力200元*/
#define TypeB2 2 /*工業用電每度2元*/
/*營業用電*/
#define TypeC1 5 /*營業用電300度以下,每度5元*/
#define TypeC2 6 /*營業用電301度以上,每度6元*/
int main(void){
int T; /*用電類別*/
float Deg; /*用電度數*/
float C; /*工業用電契約馬力*/
float Fee; /*電費*/
printf("1.家庭用電");
printf("2.工業用電");
printf("3.營業用電");
printf("請輸入用電類別(1-3)");
scanf("%d",&T);
if(T>=1 && T<=3){
printf("用電度數=");
scanf("%f",&Deg);
switch(T){
case 1:
if(Deg<=100)
Fee=Deg*TypeA1;
else if(Deg<=300)
Fee=(Deg-100)*TypeA2 + 100*TypeA1;
else
Fee=(Deg-300)*TypeA3 + 200*TypeA2+100*TypeA1;
break;
case 2:
printf("契約馬力=");
scanf("%f",&C);
Fee=C*TypeB1+Deg*TypeB2;
break;
case 3:
if(Deg<=300)
Fee=Deg*TypeC1;
else
Fee=(Deg-300)*TypeC2+300*TypeC1;
break;
}
printf("電費共為%f",Fee);
printf("/n");
}else{
printf("類別錯誤!!");
printf("/n");
}
system("pause");
return 0;
}
印出:
小試身手1: 多段式百貨公司打折
真真百貨周年慶的打到骨折活動,當顧客消費滿2000元時打7折,滿5000元時打6折,滿10000元時打55折,請幫公司寫出一個收銀檯程式
印出:
小試身手2:購物計算
小天今天帶500元去超市買了蘋果、梨子、葡萄等個數不等的商品,請問他買完剩下或是差多少錢?
印出:
那程式碼會在下一篇給大家
謝謝大家今天的閱讀!!
C++和C代碼混合在一起,有點奇怪,並且你可以在cout之外初始值,它看起來更整潔,例如
#include<stdio.h>
#include<math.h>
int main(){
double a,b,c;
printf("ax^2+bx+c=0\n請依序輸入a,b,c\n");
scanf("%lf %lf %lf", &a, &b, &c);
double Delta = pow(b, 2)-4*a*c;
printf("答案是:");
if( Delta > 0 ){
double root1 = ((-1) * b + sqrt (pow(b, 2)-4 * a * c)) / 2 / a;
double root2 = (-b-sqrt(pow(b, 2)-4 * a *c))/ 2 / a;
printf("%0.2lf %0.2lf\n", root1, root2);
} else if (Delta==0){
double root = (-1) * b / 2 /a;
printf("%.2lf", root);
} else printf("無解\n");
//system("pause");
return 0;
}
太感謝你的程式碼了,謝謝!!