编写一个C语言程序,输入asbc三个数,输出其中最大者。试想,如果求四个数中 的最大者,则程序该如何编写。
时间: 2023-04-08 21:01:56 浏览: 89
这个问题可以回答。对于输入三个数的情况,可以使用if语句进行比较,找出最大值。代码如下:
```
#include <stdio.h>
int main() {
int a, b, c;
printf("请输入三个数:\n");
scanf("%d %d %d", &a, &b, &c);
int max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
printf("最大值为:%d\n", max);
return 0;
}
```
对于输入四个数的情况,可以使用类似的方法,增加一个变量记录最大值。代码如下:
```
#include <stdio.h>
int main() {
int a, b, c, d;
printf("请输入四个数:\n");
scanf("%d %d %d %d", &a, &b, &c, &d);
int max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
if (d > max) {
max = d;
}
printf("最大值为:%d\n", max);
return 0;
}
```
相关问题
有以下文法:G=({S,B,C},{a,b,c},S,P), 其中: P:S→aSBC | abC, CB →BC ,bB→bb, bC→bc, cC→cc ,求 语言L(G)
根据给定的文法G,可以得到以下产生式:
1. S → aSBC
2. S → abC
3. CB → BC
4. bB → bb
5. bC → bc
6. cC → cc
从S开始推导,可以得到以下语言:
L(G) = {a^n b^n c^n | n ≥ 1} ∪ {a^m b^n c^k | 0 ≤ m < n ≤ k}
其中,第一个部分表示三个字符数量相等的字符串,第二个部分表示b的数量大于a的数量,且c的数量大于b的数量的字符串。
给出下面语言的相应文法 (1)L1 = { a^nb^nc^i | n>=1 , i>=0 }
L1的文法可以描述为:
S -> aSBC | ε
B -> bBc | ε
C -> cC | ε
其中,S是起始符号。这个文法的产生式可以解释如下:
- S可以生成一个a,后面跟着S,B和C,或者直接生成ε。
- B可以生成一个b,后面跟着B和c,或者直接生成ε。
- C可以生成一个c,后面跟着C,或者直接生成ε。
这个文法的意思是,一个字符串可以由若干个a,b和c组成,其中b和c的数量总是相等的。在a的左侧可以有任意数量的b和c。