gpt4 book ai didi

arrays - C++,错误c2143(语法错误),c2065,c2109

转载 作者:行者123 更新时间:2023-12-03 08:30:10 24 4
gpt4 key购买 nike

我对编程很陌生

我收到以下编译器错误:

错误1错误C2143:语法错误:缺少';'在“类型”之前
错误2错误C2065:“ary”:未声明的标识符
错误3错误C2109:下标需要数组或指针类型
错误4错误C2065:“ary”:未声明的标识符
错误5错误C2109:下标需要数组或指针类型

这是我的代码:

   #include <stdio.h>
int main(void)
{
int num, sum, i, e, n, avrg, numsnum, avrgu, chek;
sum = 0;
i = 0;
avrgu = 0;
chek = 0;
n = 0;
numsnum = 0;
int ary[5];
e = 0;

do{
scanf("%d", &num);
ary[n] = num;
n++;
i++;
sum += num;
numsnum++;
} while (i != 4);

avrg = (sum) / numsnum;
for (e = 0; e = 4; e++){
if (ary[chek] > avrg){
avrgu++;
}
chek++;
}
printf("%d numbers are above the AVERAGE of all.\n", avrgu);


return 0;
}

提前致谢!

最佳答案

我的建议是,您会找到一些不错的C++入门教程。互联网上到处都是,只要在Google上快速搜索即可。这是我很快找到的一个:http://www.cprogramming.com/tutorial/lesson1.html

上面代码的问题是,您正在索引数组ary的末尾。这是在for循环内发生的:for(e = 0; e = 4; e++)。您的for循环检查是将e的值分配为4。您可能打算做的是e == 4,但是即使那样也不是很正确。您要做的是在e < 4时继续循环。

以下是您的代码的修订版:

// C++ version of stdio.h
#include <iostream>

int main(int argc, char** argv)
{
// Create an array of five doubles and
// initialize all the doubles to 0
double array[5] = {};

double num = 0;
double sum = 0;
double count = 5;
for (int i = 0; i < count; ++i)
{
// Read the user input from the console
std::cin >> num;
array[i] = num;
sum += num;
}

double average = sum / count;

int numbersAboveAverage = 0;
for (int i = 0; i < count; ++i)
{
if (array[i] > average)
{
numbersAboveAverage++;
}
}

// Print the numbersAboveAverage value to the console.
std::cout << numbersAboveAverage
<< " numbers are above the average.\n" << std::endl;

return 0;
}

我建议您多读一些书,并确保继续编程!最好的学习方法就是做事。希望这对您有所帮助!

关于arrays - C++,错误c2143(语法错误),c2065,c2109,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20650410/

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