在'{'
之前预期的不合格ID
我的代码在哪里出错?谢谢大家!
#include <iostream>
using std::cout;
using std::endl;
//function prototypes
void findsmallest (int[], int &);
void findsmallest (int scores [], int & min);
int main()
{
//declare variables
int smallest = 0;
int scores[20] = { 90, 54, 23, 75, 67,
89, 99, 100, 34, 99,
97, 76, 73, 72, 56,
73, 72, 65, 86, 90 };
findsmallest(scores, smallest);
return 0;
//call function find smallest
findsmallest (scores, smallest);
cout << "Minimum value in the array is " << smallest << endl;
system ("pause");
return 0;
}
//function definition
void findsmallest(int scores [], int & min);
{
min = scores[0];
int i;
for(i = 0; i < 20; i++)
{
if(scores[i] < min)
{
min = scores[i];
}
}
}
//end display findsmallest
system ("pause");
return 0;
答案 0 :(得分:7)
错误位于findsmallest()
函数定义的第一行。摆脱分号,它应该工作(除了代码中的其他错误 - 我没有检查它的正确性。)
void findsmallest(int scores [], int & min); <-------semicolon
{
VS
void findsmallest(int scores [], int & min) <--------no semicolon
{
错误告诉你分号后面的开括号({
)缺少前面的类/结构/联合/函数声明,因此编译器不知道如何处理它。删除分号,现在编译器知道它是函数定义的主体。
答案 1 :(得分:0)
答案 2 :(得分:0)
你想做什么?第一行看起来像是以评论
开头//declare array
然后继续进行数组声明。你还想做什么?
答案 3 :(得分:0)
嗯,你想找到最小的并打印出来,对吧?
为此,您必须考虑数组的每个成员,并跟踪您找到的最小成员。在考虑了所有数组值后,您将知道哪一个是最低的,因此您可以打印它。在伪代码中:
var smallestSoFar = aBigNumber
for i in array loop
if array[i] < smallestSoFar then
smallestSoFar = array[i]
end if
end loop
print smallestSoFar
希望它有所帮助;)
答案 4 :(得分:0)
要查找数组中的最小值,您可以执行以下操作:
//declare array:
int scores[20] = {90, 54, 23, 75, 67, 89, 99, 100, 34, 99,
97, 76, 73, 72, 56, 73, 72, 65, 86, 90};
/* give the variable 'smallest' a high value -
higher than any in the array:
*/
int smallest = 9999;
/* inspect each value in the array and if it is greater than
the value of 'smallest', set smallest to that value:
*/
int i;
for (i = 0; i < 20; ++i)
if (scores[i] < smallest)
smallest = scores[i];
哦看看这个问题已经彻底改变了,现在我的答案看起来完全疯了: - /