| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1455 人关注过本帖
标题:第一个C++程序出错了!请大家指教!谢谢!
只看楼主 加入收藏
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
结帖率:80%
收藏
 问题点数:0 回复次数:9 
第一个C++程序出错了!请大家指教!谢谢!
先谢谢大家能看我的帖,谢谢!问题如下:
我编译这个程序,不知道那里错了,下面这个不能编译成功!
#include<iostream>
using namespace
void main()
{
    int a[20],i,b=0;
    cout<<"输入20个数:""\n";
    for(i=0;i<=20;i++)
        cin>>a[i];
    for(i=0;i<=20;i++)
        b+=a[i];
    cout<<b<<endl;
}


#include<iostream.h>
void main()
{
    int a[20],i,b=0;
    cout<<"输入20个数:""\n";
    for(i=0;i<=20;i++)
        cin>>a[i];
    for(i=0;i<=20;i++)
        b+=a[i];
    cout<<b<<endl;
}
这个又能编译出来!能计算出结果,但是最后程序出错!不知道哪里不对,我书上现在还没看到数组的方法,完全是靠C的基础来编^
我刚看到一个题目简单,就想用C++试下,可是出现这样的错!不知道哪里不对!请指教!谢谢!
搜索更多相关主题的帖子: 指教 int main cout 
2008-08-03 22:33
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
哦,是不是数组的越界问题啊?  for(i=0;i<20;i++)这样就对了?
但是为什么第一个不能编译出来呢?

编程小菜
2008-08-03 22:35
mark0289
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-4-5
收藏
得分:0 
should be "using namespace std"
2008-08-04 00:04
mark0289
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-4-5
收藏
得分:0 
最后掉了个分号
2008-08-04 00:04
mark0289
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2006-4-5
收藏
得分:0 
我是这样写的
#include<iostream>
using namespace std;

int main()
{
    int a[5],i,b=0;
    cout<<"输入5个数:\n";

    for(i=0;i<5;i++)
        cin>>a[i];

    for(i=0;i<5;i++)
        b+=a[i];
        
    cout<<"b="<<b<<endl;
   
    return 0;
}
试过了,可以通过编译
2008-08-04 00:21
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
恩,谢谢了!关于这个using namespace std;大概以后会学到吧,先放一放!

编程小菜
2008-08-04 00:24
xiaochunccx
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-8-4
收藏
得分:0 
很显然你的数组越界了
int a[20],i,b=0;
    cout<<"输入20个数:""\n";
    for(i=0;i<=20;i++)
        cin>>a[i];
    for(i=0;i<=20;i++)
        b+=a[i];
    cout<<b<<endl;
应改为
int a[20],i,b=0;
    cout<<"输入20个数:""\n";
    for(i=0;i<20;i++)
        cin>>a[i];
    for(i=0;i<20;i++)
        b+=a[i];
    cout<<b<<endl;
2008-08-04 18:04
独孤剑魔
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2008-8-5
收藏
得分:0 
#include<iostream>
using namespace std;//需要引进std命名空间;
void main()
{
    int a[20],i,b=0;
    cout<<"输入20个数:"<<'\n';
    for(i=0;i<20;i++)//数组下标从0开始,所以不可以大于等于20,除非你设置的i的初值为1时.
        cin>>a[i];
    for(i=0;i<20;i++)
        b+=a[i];
    cout<<b<<endl;
}

[[it] 本帖最后由 独孤剑魔 于 2008-8-5 09:59 编辑 [/it]]
2008-08-05 09:56
独孤剑魔
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2008-8-5
收藏
得分:0 
[bo][un]独孤小梦[/un] 在 2008-8-4 00:24 的发言:[/bo]

恩,谢谢了!关于这个using namespace std;大概以后会学到吧,先放一放!

你可以先不引入,使用时就 std::cout/std::cin
不过你不觉得麻烦么??
或者可以
using std::cout;
using std::cin;

以后再写的时候,就可以省略std::了,不过也没有using namespace std;方便,不过开始的时候建议你使用上面那种。
2008-08-05 10:02
细雨斜飞
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2008-5-4
收藏
得分:0 
//The first one:
#include<iostream>
using namespace std;
void main()
{
    int a[10],i,b=0;
    cout<<"输入10个数:""\n"<<endl;
        
    
    for(i=0;i<=9;i++)
    {
        cout<<"请输入第"<<i+1<<"个数:"<<endl;
        cin>>a[i];
    }
    //---------------------------------------------
    for(i=0;i<=9;i++)
        b+=a[i];
    cout<<b<<endl;
}
// The second one:
#include<iostream.h>
void main()
{
    int a[10],i,b=0;
    cout<<"输入10个数:""\n";
    for(i=0;i<=9;i++)
        cin>>a[i];   // There is another way:  Using " cin>>a" instead of " for(i=0;i<=9; i++) cin>>a[i]" .
    for(i=0;i<=9;i++)
        b+=a[i];
    cout<<"the result is :"<<b<<endl;
}
2008-08-10 15:04
快速回复:第一个C++程序出错了!请大家指教!谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.090541 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved