繁体   English   中英

开关语句有问题

[英]Having problems with switch statements

我一直在尝试使此代码正常工作,但是以某种方式我无法做到。

#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 +(bc)? 您需要括号以使意图更清晰

Z = a+b-c;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM