2013-12-18 24 views
0

我很新的编程C++,错误C2143(语法errot),C2065,c2109

我得到这些编译器错误:

错误1个错误C2143:语法错误:缺少 ';'前“类型”
错误2错误C2065:进制':未声明的标识符
错误3错误C2109:下标要求数组或指针类型
错误4错误C2065:进制':未声明的标识符
错误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; 
    } 

在此先感谢!

+0

你在这里输入的代码是错误的。你可以重新检查并编辑它..? – bgamlath

+0

只需对发生错误的行发表评论。请?! :) – mihai

+0

错误1:行11 错误2:行16 错误3:行16 错误4:行25 错误5:行25 – user3113856

回答

1

我会建议你找到一些很好的入门C++教程。互联网充满了他们,只需在Google上快速搜索即可。这里是我很快找到的一个:http://www.cprogramming.com/tutorial/lesson1.html

上面的代码的问题是,您正在索引数组的末尾ary。这发生在您的for循环内部:for(e = 0; e = 4; e ++)。你的循环检查分配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; 
} 

我会建议你做一些更多的阅读,并确保你保持编程!学习的最好方法就是在做。我希望这有助于,欢呼!

+0

但它为什么会给我这个错误“错误错误C2143:语法错误:缺少';'在'输入'第11行'之前? – user3113856

+0

不完全确定,因为我在尝试运行代码时未收到该错误。如果我不得不猜测,我会说你在某处丢失了一个分号,或者你在变量声明中拼写了原始类型。 – pje

+0

@pje以及在运行之后试着放5个数字。每当我到达第五个数字时,我都会碰到这个问题。 – user3113856

相关问题