![](https://lstatic.shangxueba.com/jiandati/pc/images/pc_jdt_tittleico.png)
编程题: 编程求和: 1! + 2! + ... . + n! 要求:n的值从键盘输入,且不大于10; ()
![](https://lstatic.shangxueba.com/jiandati/pc/images/jdt_panel_vip.png)
编程设计一个简单的计算器程序,要求用户从键盘输入如下形式的表达式: 操作数1 运算符op 操作数2 然后,计算并输出表达式的值 指定的运算符为: 加(+) 减(-) 乘(*) 除(/) 代码如下,所给程序是否存在错误,若有,找出错误所在并改正。 #include <stdio.h> int main() { float data1, data2; char op; printf("Please enter the expression:"); scanf("%f %c%f", &data1, &op, &data2); /* %c前有一个空格 */ switch (op) { case '+': printf("%f + %f = %f\n", data1, data2, data1 + data2); break; case '-': printf("%f - %f = %f\n", data1, data2, data1 - data2); break; case '*': printf("%f * %f = %f\n", data1, data2, data1 * data2); break; case '/': printf("%f/%f = %f\n", data1, data2,data1/data2); break; default: printf("Invalid operator!\n"); } return 0; }
A、第20行语句有错误,改成: if (fabs(data2)<=eps) printf("division by zero!\n"); else printf("%f %f="%f\n"," data1, data2, data1 data2); 同时,第1行语句下方应加入 #include> #define EPS 1e-6
B、default分支缺少break语句
C、没有错误
D、第20行语句有错误,改成: if (data2=0) printf("Division by zero!\n"); else printf("%f/%f = %f\n", data1, data2, data1/data2);
编写一个能对任意mxn阶矩阵进行转置运算的函数Transpose() 。
用指针数组编程实现:从键盘任意输入一个数字表示月份值n,程序输出该月份的英文表示,若n不在1~12之间,则输出“Illegal month”。在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include <stdio.h> int main() { int n; char ___________={"Illegal month", "January", "February","March","April", "May", "June", "July", "August", "September", "October", "November", "December"}; printf("Input month number:\n"); scanf("%d", &n); //输入月份 if (____________) { printf("month %d is %s\n", n, monthName[n]); //输出相应月份 } else { printf("%s\n", ___________ ); //输出错误 } return 0; }
A、第6行: *monthName[] 第9行: (n <= 12) && (n>= 1) 第15行: monthName[0]
B、第6行: *monthName 第9行: (n <= 12) || (n>= 1) 第15行: monthName[0]
C、第6行: monthName[] 第9行: n <= 12) && (n>= 1) 第15行: *monthName[0]
D、第6行: monthName[] 第9行: (n > 12) || (n < 1) 第15行: *monthName[0]
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!