c++ - switch语句有问题

标签 c++ c switch-statement

我一直在努力让这段代码工作,但不知何故我做不到..

#include <iostream.h>
#include <stdio.h>

int main() {

    int a,b,c;
    int y=3;
    int i=2;
    int g[] = {20};
    int m,k;
    int Z;

    printf("Enter a number for a");
    scanf("%d", &a);

    printf("Enter a number for b");
    scanf("%d", &b);

    printf("Enter a number for c");
    scanf("%d", &c);

    m=y;


    do
    {

        Z = a+b-c;

        switch(Z)
        {
        case '0':
        case '1': 
                k=17;
                m+=b;
                break;
        case '2': 
                m+=b;
                m=a;
                break;
        case '3':
                m=a-c;
                m+=b;
                m=a;
                break;
        case '7':
                m+=b;
                break;
        default:
                m=a;
                break;
        }

        g[m] = m%i;
        m--;



    }while(m>b);



}

这是我必须转化为编码的方案。 http://ff.tu-sofia.bg/PIK/Izpiti/MidTest07.html

y 和 i 默认为 3 和 2,数组 g 应包含 20 个整数,用户必须为 a、b 和 c 键入值。

最佳答案

Z 是一个整数,您的案例正在寻找字符串。去掉案例中数字周围的引号。

数组 g 不包含 20 个整数,在本例中它包含一个元素 20。我想你的意思是 g[20] = {}

还有 Z 是如何计算的?是 (a+b)-c 还是 a+(b-c)?你需要括号让你的意图更清晰

Z = a+b-c;

 switch(Z)
    {
    case 0:
    case 1: 
            k=17;
            m+=b;
            break;
    case 2: 
            m+=b;
            m=a;
            break;

关于c++ - switch语句有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19666985/

相关文章:

c - 如何在包含 BEGIN_C_DECLS 宏的行上正确应用缩进?

javascript - 开关内开关替代

c - 在 c 中,switch 语句可以有 2 个参数吗?

java - 迭代按钮上的单击监听器

c++ - 将任何 Unicode 字符串转换为 int

c++ - 如何在 Windows 中模拟 SHIFT+END 组合键

c++ - 与访客设计模式实现相关的问题

c++ - MSVC : C++14: std:set: comparison function: why "const" is required?

c - 段错误,我的代码中缺少什么?

c - 为什么只有算术运算打印出一个值而不是一个正常的值