【实验题4】编写一程序,从键盘输入三角形的三条边,如果能构成一个三角形判断其是否是等腰三角形(等边三角形是等腰三角形的特例)。要求: (1)用scanf函数输入三角形的三条边a,b,c,且在输入前要有提示;(2)使用if语句判断,对每种情况都需要有提示。
时间: 2024-11-22 11:34:36 浏览: 37
【实验题4】这是一个简单的C语言程序,可以满足你的需求:
```c
#include <stdio.h>
int main() {
double a, b, c;
printf("请输入三角形的三条边(a, b, c): ");
scanf("%lf %lf %lf", &a, &b, &c);
if (a > 0 && b > 0 && c > 0) { // 检查输入是否合法
if (a + b > c && a + c > b && b + c > a) { // 判断是否能构成三角形
if (a == b || b == c || a == c) { // 判断是否为等腰三角形
printf("这是一个等腰三角形。\n");
} else if (a == b && b == c) { // 判断是否为等边三角形
printf("这是一个等边三角形。\n");
} else {
printf("这是一个普通三角形。\n");
}
} else {
printf("输入的边长无法构成三角形。\n");
}
} else {
printf("输入的边长无效,请确保都是正数。\n");
}
return 0;
}
相关问题
2、三角形判断 有一个程序读入3个整数,把这3个整数作为一个三角形的3条边的长度值。这个程序要打印出信息,说明这3个整数是否能组成三角形,如果能组成三角形,说明这个三角形是不等边、等腰或等边三角形。 5.1.2 实验内容 设计测试用例,每题选择使用两种合适的黑盒测试方法展开测试。 1.利用边界值分析法展开测试。 2.在等价类划分方式下设计测试用例展开测试 3.利用判定表法展开测试。 4.利用因果图法展开测试。
好的,我来回答你的问题。关于三角形判断,我们可以根据三角形的性质来判断:
1. 任意两边之和大于第三边才能构成三角形;
2. 如果三边相等,则为等边三角形;
3. 如果只有两边相等,则为等腰三角形;
4. 如果三边都不相等,则为不等边三角形。
接下来,我会根据你的要求,为你展示三种黑盒测试方法。
1. 边界值分析法:
边界值分析法主要是选取边界值或者特殊值进行测试。对于三角形,我们可以选取以下测试用例:
a. 三边长度均为0;
b. 三边长度均为1;
c. 三边长度分别为1、2、3;
d. 三边长度分别为99、100、101;
e. 三边长度分别为1、1、2;
f. 三边长度分别为3、4、5。
2. 等价类划分法:
等价类划分法是将所有可能的输入值划分为若干个等价类,然后从每个等价类中选择一组测试用例进行测试。对于三角形,我们可以将其划分为以下三个等价类:
a. 三边长度都为正整数;
b. 至少有一条边长度为0;
c. 任意两边之和不大于第三边。
测试用例如下:
a. 三边长度分别为2、3、4;
b. 三边长度分别为0、0、0;
c. 三边长度分别为1、2、3。
3. 判定表法:
判定表法是一种根据输入变量的组合情况设计测试用例的方法。对于三角形,我们可以设计如下判定表:
| 三边长度 | 是否构成三角形 | 三角形类型 |
| --- | --- | --- |
| a>b+c 或 b>a+c 或 c>a+b | 否 | - |
| a=b=c | 是 | 等边三角形 |
| a=b 或 b=c 或 a=c | 是 | 等腰三角形 |
| a≠b≠c | 是 | 不等边三角形 |
根据上表,我们可以设计以下测试用例:
a. 三边长度分别为2、3、4;
b. 三边长度分别为1、1、1;
c. 三边长度分别为3、4、4;
d. 三边长度分别为3、4、5。
4. 因果图法:
因果图法是一种根据输入变量之间的因果关系设计测试用例的方法。对于三角形,我们可以设计如下的因果图:
```
a>b+c ————> 不构成三角形
| |
| |
| v
| 三边长度均相等 ————> 等边三角形
| |
| |
| v
| 任意两边相等 ————> 等腰三角形
| |
| |
v v
三边都不相等 ————> 不等边三角形
```
根据上图,我们可以设计以下测试用例:
a. 三边长度分别为2、3、4;
b. 三边长度分别为1、1、1;
c. 三边长度分别为3、4、4;
d. 三边长度分别为3、4、5。
以上就是三种黑盒测试方法的测试用例设计。希望能对你有所帮助!
c语言,作者 C课程组 单位 浙江大学 本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。
C语言是由贝尔实验室的一组工程师在20世纪70年代初期开发的,主要设计者是丹尼斯·里奇和肯·汤普逊。而浙江大学C课程组则可能是该校计算机科学系提供的教学资源,用于教授C语言基础。关于您提到的问题,编写一个C语言程序来打印高度为n的菱形,可以使用循环结构来控制行数和列数的变化。以下是简单的示例:
```c
#include <stdio.h>
void printDiamond(int n) {
// 上半部分的三角形
for (int i = 0; i <= n; ++i) {
for (int j = 0; j < n - i; ++j)
printf(" ");
for (int k = 0; k < 2 * i + 1; ++k)
printf("* ");
printf("\n");
}
// 下半部分的倒置三角形
for (int i = n - 1; i > 0; --i) {
for (int j = 0; j < n - i; ++j)
printf(" ");
for (int k = 0; k < 2 * i - 1; ++k)
printf("* ");
printf("\n");
}
}
int main() {
int n;
scanf("%d", &n);
printDiamond(n);
return 0;
}
```
在这个程序中,`printDiamond`函数负责生成菱形,通过两个嵌套的for循环控制每一行的输出。首先打印上半部分,然后下半部分通过倒序循环实现。用户需要输入一个正奇数n作为菱形的高度。
阅读全文
相关推荐
















