gpt4 book ai didi

c - 程序在用户输入后结束

转载 作者:太空宇宙 更新时间:2023-11-04 03:49:32 27 4
gpt4 key购买 nike

我编写的程序在用户输入后停止,我不知道为什么会这样。用户应该给出 6 个整数,然后程序应该用它做一些数学运算,但现在不是这种情况,因为在插入整数后它结束,没有错误。

 #include <stdlib.h>
#include <stdio.h>


int main(int argc, char *argv[]) {

int T,i;
int x[5];

scanf("%d", &T);
while(T > 0) {
for(i = 0; i <= 4; i++) {
scanf("%d", &x[i]);
}
int size_tax = x[0] + x[1] + x[2];
int tax[size_tax];

for(i = 0; i <= size_tax; i++) {
if(i == 0) {
tax[i] = x[0];
if(x[4] == 1) {
printf("%d", tax[0]);
break;
}
} else if(i > 0 && i <= x[1] - 1) {
tax[i] = tax[i-1] + 1;
if(x[4] == i + 1) {
printf("%d", tax[i]);
break;
}
} else if(i > x[1] - 1 && i <= x[2] - 1) {
tax[i] = tax[i-1] * 2;
if(x[4] == i + 1) {
printf("%d", tax[i]);
break;
}
}
}

if(x[4] > x[0] + x[1] + x[2]) {
int result = x[3] - 1;
for(i = x[3]; i <= x[4] - 1; i++) {
result = result * x[i];

}

printf("%d", result);
}

T--;
}
}

最佳答案

问题是:

int tax[size_tax];

for(i = 0; i <= size_tax; i++) {
...
}

tax声明的大小是size_tax,所以循环必须到size_tax-1,所以应该是

for(i = 0; i < size_tax; i++) { // Less than, not less than or equal to
...
}

关于c - 程序在用户输入后结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21804948/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com