C語言及實驗作業參考做法
分支程序設計
上機作業:
標題
4.3三角形判斷
描述
輸入三條邊的長,輸出這三條邊是否構成等邊三角形、等腰三角形、直角三角形、普通三角形,還是不能構成三角形
輸入數據
整數a,b,c的值
輸出數據
等邊三角形、等腰三角形、直角三角形、普通三角形,或不能構成三角形
輸入示例
5 5 5
輸出示例
等邊三角形
#include
int main( ) {
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a==b&&b==c) printf("1");
else if(a+b>c&&a+c>b&&b+c>a)
if(a==b||b==c||a==c) printf("2");
else if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b) printf("3");
else printf("4");
else printf("5");
return 0;
}
標題
4.5計算函數的值
描述
當x<1時,y=x當1≤x<10時,y=2x-1當x≥10時,y=3x-11
輸入數據
整數x的值
輸出數據
一個整數表示函數的值
輸入示例
5
輸出示例
y=9
#include
int main()
{ int x,y;
scanf("%d",&x);
if(x<1) y=x;
else if(x<10) y=2*x-1;
else y=3*x-11;
printf("%d",y);
return 0;
}
標題
4.6 數的分離
描述
給一個不多于3位的正整數(1)計算它是幾位數(2)分別打印出每一位數字(3)逆序打印出各位數字
輸入數據
一個不多于3位的正整數
輸出數據
位數從高位到低位的各位數字從低位到高位的各位數字
輸入示例
456
輸出示例
34 5 66 5 4
提示
123/100=?23/10=?123%10=?測試數據1: 678 3 6 7 8 8 7 6 測試數據2: 45 2 4 5 5 4 測試數據3: 8 1 8 8
#include
int main( )
{int p,t,s; int i,bit;
//printf("input a number(0-999):");
scanf("%d",&p);
gewei=p%10; //個位
shiwei=p/10%10; //十位
baiwei=p/100; //百位
if(baiwei) //如果是3位數
{printf("%d\n",3); printf("%d %d %d\n",baiwei,shiwei,gewei);
printf("%d %d %d\n",gewei,shiwei,baiwei);
}
else if(shiwei) //如果是2位數
{printf("%d\n",2);printf("%d %d\n",shiwei,gewei);
printf("%d %d\n",gewei,shiwei);
}
else printf(" %d\n%d\n%d\n",1,gewei,gewei); //是1位數
return 0;
}
標題
4.7輸出等級分(用if語言實現)
描述
輸入一個百分制成績,輸出對應的等級分90-100 為 A80-89 為 B70-79 為 C60-69 為 D0-59 為 E
輸入數據
一個整數
輸出數據
一個大寫字符
輸入示例
95
輸出示例
A
標題
4.8 計算建筑高度
描述
有4個圓塔,圓心分別為(2,2),(-2,2),(-2,-2),(2,-2),圓半徑為1。這4個塔的高度為10m,塔以外無建筑物。輸入任一點的坐標,求該點的建筑高度(塔外高度為0)。
輸入數據
以(x,y)形式作為點的坐標輸入
輸出數據
輸出高度
輸入示例
(3,1)
輸出示例
10
提示
注意輸入坐標的格式,括號為半角符號輸入: (0.5,0.7) 輸出:0 輸入: (2.1,2.3) 輸出:10 輸入: (-2,-1) 輸出:10 輸入: (-3,2) 輸出:10
#include
main( )
{int x1=2,y1=2;
float x,y