C语言习题(继续)补考的

2025-03-01 09:16:49
推荐回答(5个)
回答1:

6--D 因为case语句后没有break;所以case后的都要运算。所以为23
7--D 循环语句while(表达式);当while后面的表达式为假时,循环不执行。当a为10时候停止不执行。

所以只有九次。
8--A
9--A
10--B
11--D
12--B函数的定义不可以嵌套
13--D 内部变量不一定在整个程序运行期间都存在
14--A
15--A
16--C
17--C 多维数组最右一维不能省略
18--D
19--D
#include

int main()
{
int a, b, num1, num2, temp;
printf("Input a & b:\n");
scanf("%d %d", &num1, &num2);
if (num1 > num2) /*找出两个数中的较大值*/
{
temp = num1;
num1 = num2;
num2 = temp; /*交换两个整数*/
}
a = num1;
b = num2;
while(b) /*采用辗转相除法求最大公约数*/
{
temp = a % b;
a = b;
b = temp;
}
printf("The GCD of %d and %d is: %d\n", num1, num2, a); /*输出最大公约数*/
printf("The LCM of them is: %d\n", num1 * num2 / a); /*输出最小公倍数*/
return 0;
}

回答2:

6.D 7.D 8.A 9.A 10.B 11.D
12.B函数的定义不可以嵌套
13.D 内部变量不一定在整个程序运行期间都存在
14.A 15.A 16.C
17.C 多维数组最右一维不能省略
18.D 19.D

回答3:

6.D 7.D 8.A 9.A 10.B 11.D 12.D 13.D 14.A 15.A 16.C 17.C 18.D 19.D
#include

int main()
{
int a, b, num1, num2, temp;
printf("Input a & b:\n");
scanf("%d %d", &num1, &num2);
if (num1 > num2) /*找出两个数中的较大值*/
{
temp = num1;
num1 = num2;
num2 = temp; /*交换两个整数*/
}
a = num1;
b = num2;
while(b) /*采用辗转相除法求最大公约数*/
{
temp = a % b;
a = b;
b = temp;
}
printf("The GCD of %d and %d is: %d\n", num1, num2, a); /*输出最大公约数*/
printf("The LCM of them is: %d\n", num1 * num2 / a); /*输出最小公倍数*/
return 0;
}

回答4:

6.D 7.A 8.C 9.A 10.B 11.A 12.B 13.D 14.A 15.A 16.C 17.B 18.D 19.D
我已经参照上面的答案,应都是正确的!

回答5:

6、D 7、A 8、A 9、A 10、B
11、D 12、D 13、D 14、A 15、A
16、C 17、C 18、D 19、D