0

我一直试图让这段代码工作,但不知何故我做不到..

#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 的值。

4

1 回答 1

3

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;
于 2013-10-29T19:06:59.830 回答