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