程式設計觀念複習
a. 基本I/O : 變數,printf 和scanf
範例 試撰寫一程式,可計算梯形面積
#include <stdio.h>
#include <stdlib.h>
int main()
{
float a,b,c,r; // a->上底 b->下底,c->高, r->面積
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
r = (a+b)*c/2.0;
printf("面積 %f",r);
system("pause");
return (1);
}
題目練習:
- 試撰寫一程式,可由鍵盤輸入攝氏溫度,程式的輸出為華氏溫度,其轉換公式如下:
華氏溫度=(9/5)*攝氏溫度+32 - 試撰寫一程式,可由鍵盤輸入英哩,程式的輸出為公里,其轉換公式如下:
1英哩=1.6公里 - 試撰寫一程式,可由鍵盤輸入平行四邊形的底和高,然後計算其面積。
- 已知圓球體積為(4/3)πr3,試撰寫一程式,可輸入圓球半徑,經計算後輸出圓球體積。
b. IF Statement
試撰寫一程式,可由鍵盤讀入一個字元。若此字元是數字(即數字0-9),則印出"此字元是數字 若此字元是英文大小寫字母(即a-z,A-Z),則印出"此字元是英文字*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
char c;
scanf("%c",&c);
if(c>='0' && c<='9' ) printf("%c 是數字",c);
else if( (c>='a' && c<='z') || (c>='A' && c<='Z') ) printf("%c 是英文字",c);
else printf("%c不是數字 不是英文字 \n",c);
system("pause");
return (1);
}
- 試撰寫一程式,可由鍵盤輸入一個整數,然後判斷它是奇數或偶數。
- 試撰寫一程式,可由鍵盤輸入一整數,然後求此數的絕對值。
- 試撰寫一程式,可由鍵盤輸入一個整數(代表某個人的體重),然後判斷體重是不是過重。若體重大於90公斤,則印出“體重過重”,否則印出“不會過重”。
- 試撰寫一程式,可由鍵盤輸入兩個整數,分別代表某個人的身高與體重,然後判斷它的體重是不是過重。若體重大於90公斤,且身高低於180公分,則印出“體重過重”,否則印出“不會過重”。
- 試撰寫一程式,可由鍵盤讀入一個字元。若此字元是數字(即數字0-9),則印出“此字元是數字”字串;若此字元是英文大小寫字母(即a-z,A-Z),則印出“此字元是英文字元。
c. Loop
/*求1 + 2 + 3 + …+ n 的值,其中 n 由使用者指定*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,r,i;
scanf("%d",&n);
r =0;
for(i=1;i<=n;i++)
{
r = r + i;
}
printf("r=%d \n",r);
system("pause");
return (1);
}
- 求1 + 3 + 5 + …+ n 的值,其中 n 由使用者指定的奇數
- 求2 + 4 + 6 + …+ n 的值,其中 n 由使用者指定的偶數
- 印出ASCII碼中41~64的字元
- 印出 1~100中可被6整除的數值
- 印出12 + 22 + 32 + 42 + …+ 502的值
- n由使用者指定印出下面結果(例如n = 5)
d. 函數設計
寫一函數int sum(int n)函數,計算 1+2+...+n 的總和
#include <stdio.h>
#include <stdlib.h>
int sum(int n)
{
int r = 0,i;
for(i=1;i<=n;i++) r = r + i;
return (r);
}
int main()
{
int n,r;
scanf("%d",&n);
r = sum(n);
printf("r=%d \n",r);
system("pause");
return (1);
}
注意: 盡量不要在 main 以外的地方印出結果
- 試寫一函數void kitty(int k)函數,當主程式呼叫kitty(k)時,螢幕上會顯示出k行的“Hello Kitty”。
- 試撰寫函數int power(int x,int y),用來計算x的n次方,並於主程式裡計算power(5,3),即計算
。
- 撰寫一函數double my_ fun(int n),可用來計算下面的數學式:
- 試利用下面的公式:
sum2(n)=sum2(n-1)+2*n,sum2(1)=2
撰寫遞迴函數int sum2(int n),用來計算之和。