我一直在努力让这段代码工作,但不知何故我做不到..
#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/