将以下SWITCH语句转换为IF ... ELSE语句

时间:2014-01-22 08:21:20

标签: c if-statement switch-statement

b)将以下switch语句转换为if ... else语句。

#include <stdio.h>
void main()
{
    char option;
    int a;
    printf("a.Addition\n b.Subtraction\n c.Multiplication\n d.Division\n");
    printf("Choose your option : ");
    scanf("%c",&option);

    switch(option)
    {
    case 'a':
    case 'A': a=20+10;
        printf("Addition process result:%d",a);
        break;
    case 'b':
    case 'B': a=20-10;
        printf("Subtraction process result:%d",a);
        break;
    case 'c':
    case 'C': a=20*10;
        printf("Multiplication process result:%d",a);
        break;
    case 'd':
    case 'D': a=20/10;
        printf("Division process result:%d",a);
        break;
    default: printf("Invalid option");
    }
    printf("\nEnd of program");

}

如何将它从SWITCH转换为IF ... ELSE? 这是我考试的修订问题 谢谢

3 个答案:

答案 0 :(得分:6)

switch语句可以被视为一系列if / else条款。这是一个可以帮助您解决特定问题的示例:

switch (x)
{
    case 1:
    case 2:
        foo();
        break;       

    case 3:
    case 4:
        bar();
        break;       

    default:
        blech();
        break;       
}

变为:

if (x == 1 || x == 2)         // case 1:
{                             // case 2:
    foo();
}
else if (x == 3 || x == 4)    // case 3:
{                             // case 4:
    bar();
}
else                          // default:
{
    blech();
}

答案 1 :(得分:1)

if(option == 'a' ||option == 'A')   //checks if option value is 'a' or 'A',in switch case you use case:a,and case:b
  {
   a=20+10;       
   printf("Addition process result:%d",a);
   }
else if(option == 'b' ||option == 'B')    
   {
    a=20-10;
    printf("Subtraction process result:%d",a);
    }
else if(option == 'c' ||option == 'C')    
    {
     a=20*10;
     printf("Multiplication process result:%d",a);
    }
else if(option == 'd' ||option == 'D')    
    {
     a=20/10;
     printf("Division process result:%d",a);
    }
else
    {
      printf("Invalid option");
    }

我是如何转型的:

1:将所有cases更改为if

中的条件语句

示例:

switch(option)
{
  case 'a':
  case 'A':some statement;
         break;
}

   if(option == 'a' || option == 'A')
   {

    some statement;
    }

答案 2 :(得分:0)

#include <stdio.h>
void main()
{
    char option;
    int a;
    printf("a.Addition\n b.Subtraction\n c.Multiplication\n d.Division\n");
    printf("Choose your option : ");
    scanf("%c",&option);

    if (option == 'a' || option == 'A') {
        printf("Addition process result:%d",a);
    }
    elseif (option == 'b' || option == 'B') {
        printf("Subtraction process result:%d",a);
    }
    elseif (option == 'c' || option == 'C') {
        printf("Multiplication process result:%d",a);
    }
    elseif (option == 'd' || option == 'D') {
        printf("Division process result:%d",a);
    }
    else {
        printf("Invalid option");
    }
    printf("\nEnd of program");

}

这是你问题的解决方案。