(3) 已有如下所示的程序代码: 1请用 if- else if 语句替换程序中的 switch 语句,即用 if- else if 语句来 构成程序中的选择结构。 2增加程序功能,能判断执行除法(/)运算时,除数是否为 0,若除数为 0, 则输出“Division by zero!” 要求:将修改后的程序调试正确,并设计 6 组数据来测试选择结构的每一路选择 是否能正确完成计算。 #include "stdio.h" void main() {char op; //变量op int x,y; //变量 x,y 存放要计算的数据 printf("\n"); printf("\n Please enter a operator "); scanf("%c",&op); //输入运算符 printf("\n Please input data "); scanf("%d%d",&x,&y); //输入数据 switch(op) { case ’+’: printf("\n %d %c %d=%d\n ",x,op,y,x+y); break ; case ’-’: printf("\n %d %c %d=%d \n",x,op,y,x-y); break; case ’*’: printf("\n %d %c %d=%d \n ",x,op,y,x*y); break; case ’/’: printf("\n %d %c %d=%.2f \n ",x,op,y,x*1.0/y); break; case ’%’: printf("\n %d %c %d=%d \n",x,op,y,x%y); break; default: printf("\n Invalid operator\n");
时间: 2023-05-24 16:01:29 浏览: 78
1. 如果已经有如下的程序代码,可以使用if-else if语句来替换switch语句来构成程序中的选择结构。
switch(operator){
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if(num2==0){
printf("Division by zero!");
break;
}
result = num1 / num2;
break;
default:
printf("Invalid operator!");
break;
}
用if-else if语句替换switch语句后,代码如下:
if(operator=='+'){
result = num1 + num2;
} else if(operator=='-'){
result = num1 - num2;
} else if(operator=='*'){
result = num1 * num2;
} else if(operator=='/'){
if(num2==0){
printf("Division by zero!");
} else{
result = num1 / num2;
}
} else{
printf("Invalid operator!");
}
2. 增加程序功能,能够判断执行除法(/)运算时,除数是否为0,若除数为0,则输出“Division by zero!”
修改后的代码已经包括了此功能,如果除数为0,将会输出“Division by zero!”
下面是6组数据用来测试选择结构的每一路选择是否能正确完成计算。
测试数据1:
num1 = 10, num2 = 5, operator = '+'
预期输出:15
测试数据2:
num1 = 10, num2 = 5, operator = '-'
预期输出:5
测试数据3:
num1 = 10, num2 = 5, operator = '*'
预期输出:50
测试数据4:
num1 = 10, num2 = 5, operator = '/'
预期输出:2
测试数据5:
num1 = 10, num2 = 0, operator = '/'
预期输出:Division by zero!
测试数据6:
num1 = 10, num2 = '$', operator = '+'
预期输出:Invalid operator!
阅读全文