运行是没问题的,但如果把处理流程修改下逻辑应该可以更清晰点,如while循环可以通过判断是否等于某个指定的值来决定是否循环计算,如数字5,然后在while循环中可以使用if-else if等分支处理输入的不同num3值调用不同的函数进行不同的运算(如果要进行乘除等运算,可以把各数据类型改为double或float类型,以便运算),修改如下:
#include <stdio.h>
int abc(int x,int y){
int z=x+y;
return z;
}
int cbd(int x,int y){
int q = x-y;
return q;
}
int main(void){
printf("请输入加减乘除再来运算(1-减,2-加,3-乘,4-除,5-退出):\n");
// 如果要进行乘除运算,可以把这里的数据类型改为double或者float类型
int num3=0;
int num1=0;
int num2=0;
int sum=0;
scanf("%d",&num3); // 获取对应某种操作的数字
while(num3!=5){ //根据输入的不同值来选择进行不同的操作,输入5退出循环
scanf("%d%d",&num1,&num2); // 获取两个操作数
if(num3==1){ // 进行减法运算
sum=cbd(num1,num2);
printf("%d\n",sum);
}else if(num3==2){ // 加法运算
sum=abc(num1,num2);
printf("%d\n",sum);
} //这后面可以添加其他else if 等分支来处理乘和除的运算
// 询问下一次要进行的操作
printf("请输入加减乘除再来运算(1-减,2-加,3-乘,4-除,5-退出):\n");
scanf("%d",&num3);
}
return 0;
}
while大多不是这么用的,不过你这也能跑起来