注册 登录
编程论坛 C语言论坛

我是名新手,下列程序哪里错误如何纠正,请大神赐教

x1921171331 发布于 2020-04-07 18:02, 2318 次点击
#include <stdio.h>
void main()
{
    float num1,num2,result;
    char operate;

    printf("Please enter operator:");
    scanf("c",&operate);
    printf("Please enter two numbers:");
    scanf("%f,%f",&num1,&num2);

    switch (operate)
    {
      case'+':
      result=num1+num2;
      printf("%5.2f+%5.2f=%5.2f",num1,num2,result);
      break;

      case'-':
      result=num1-num2;
      printf("%5.2f-%5.2f=%5.2f",num1,num2,result);
      break;

      case'*':
      result=num1*num2;
      printf("%5.2f*5.2f=%5.2f",num1,num2,result);
      break;

      case'/'
      if (num!=o)
      {
          result=num1/num2;
          printf("%5.2f/%5.2f=%5.2f",numi,num2.result);
      }
      else
          printf("In a division operation, the divisor can not be zero);
      break;

      default:
      printf("The operator is invalid");
    }

}
   
6 回复
#2
叶纤2020-04-07 18:09
程序代码:
7 8处错的,你自己找
#include <stdio.h>
int main()
{
    float num1,num2,result;
    char operate;

    printf("Please enter operator:");
    scanf("%c",&operate);
    printf("Please enter two numbers:");
    scanf("%f,%f",&num1,&num2);

    switch (operate)
    {
      case'+':
      result=num1+num2;
      printf("%5.2f+%5.2f=%5.2f",num1,num2,result);
      break;

      case'-':
      result=num1-num2;
      printf("%5.2f-%5.2f=%5.2f",num1,num2,result);
      break;

      case'*':
      result=num1*num2;
      printf("%5.2f*5.2f=%5.2f",num1,num2,result);
      break;

      case'/':
      if (num2!=0)
      {
          result=num1/num2;
          printf("%5.2f/%5.2f=%5.2f",num1,num2,result);
      }
      else
          printf("In a division operation, the divisor can not be zero");
      break;

      default:
      printf("The operator is invalid");
    }

}





[此贴子已经被作者于2020-4-7 19:29编辑过]

#3
x19211713312020-04-07 18:44
回复 2楼 叶纤
谢谢
#4
天下天下2020-04-07 18:55
回复 楼主 x1921171331 自己对比吧
#include <stdio.h>
int main(void)
{
    float num1,num2,result;
    char operate;

    printf("Please enter operator:");
    scanf("%c",&operate);
    printf("Please enter two numbers:");
    scanf("%f,%f",&num1,&num2);

    switch (operate)
    {
      case'+':
      result=num1+num2;
      printf("%5.2f+%5.2f=%5.2f",num1,num2,result);
      break;

      case'-':
      result=num1-num2;
      printf("%5.2f-%5.2f=%5.2f",num1,num2,result);
      break;

      case'*':
      result=num1*num2;
      printf("%5.2f*5.2f=%5.2f",num1,num2,result);
      break;

      case'/':
      if (num1 == 0)
      {
          result=num1/num2;
          printf("%5.2f/%5.2f=%5.2f",num1,num2,result);
      }
          else
          printf("In a division operation, the divisor can not be zero");
      break;

      default:
      printf("The operator is invalid");
    }

}
#5
x19211713312020-04-07 19:23
回复 4楼 天下天下
谢谢
#6
叶纤2020-04-07 19:31
以下是引用天下天下在2020-4-7 18:55:00的发言:

#include <stdio.h>
int main(void)
{
    float num1,num2,result;
    char operate;

    printf("Please enter operator:");
    scanf("%c",&operate);
    printf("Please enter two numbers:");
    scanf("%f,%f",&num1,&num2);

    switch (operate)
    {
      case'+':
      result=num1+num2;
      printf("%5.2f+%5.2f=%5.2f",num1,num2,result);
      break;

      case'-':
      result=num1-num2;
      printf("%5.2f-%5.2f=%5.2f",num1,num2,result);
      break;

      case'*':
      result=num1*num2;
      printf("%5.2f*5.2f=%5.2f",num1,num2,result);
      break;

      case'/':
      if (num1 == 0)
      {
          result=num1/num2;
          printf("%5.2f/%5.2f=%5.2f",num1,num2,result);
      }
          else
          printf("In a division operation, the divisor can not be zero");
      break;

      default:
      printf("The operator is invalid");
    }

}

除法不可以除数为0的
#7
hbccc2020-04-07 19:40
scanf后面不是c,应该是%c
1