| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 569 人关注过本帖
标题:我在编译这个程序时总显示有错误
只看楼主 加入收藏
亓介
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-5-16
结帖率:0
收藏
已结贴  问题点数:10 回复次数:9 
我在编译这个程序时总显示有错误
#include<iostream>
using namespace std;
void sort(double p[30]);
int main();
{double a[30];
int i;
for(i=0;i<30;i++)
cin>>a[i];
sort(a[30]);
for(i=0;i<30;i++)
cout<<a[i]<<" ";
return 0;
}

void sort(double p[30])
{int i,s=p[0];
for(i=0;i<30;i++)
{if(s<p[i+1])
s=p[i+1];
else s=s;
}
}
  我在编译是总显示有错误 \Program Files\Microsoft Visual Studio\my c++\20110705.cpp(5) : error C2447: missing function header (old-style formal list?)
Error executing cl.exe.

20110705.obj - 1 error(s), 0 warning(s)
 这是什么原因呢?急 明天就考试了 谢谢大家了
搜索更多相关主题的帖子: Microsoft function include warning double 
2011-07-05 09:21
Pirelo
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:118
专家分:550
注 册:2011-1-28
收藏
得分:5 
程序代码:
#include<iostream>
using namespace std;
void sort(double p[30]);
int main() //int main();
{double a[30];
int i;
for(i=0;i<30;i++)
cin>>a[i];
sort(a);//sort(a[30]);
for(i=0;i<30;i++)
cout<<a[i]<<" ";
return 0;
}

void sort(double *p)// void sort (double p[30]);不可能将数组30个元素都传进去,用指针,传首地址
{int i,s=p[0];
for(i=0;i<30;i++)
{if(s<p[i+1])
s=p[i+1];
else s=s;
}
}
2011-07-05 09:30
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
收藏
得分:5 
#include <iostream>
using namespace std;
void bubble(int data[],int length)
{
    int segment;
    int temp;
    int loop;
    for(segment=0;segment<=length-2;segment++)
        for(loop=length-2;loop>=segment;loop--)
            if(data[loop]>data[loop+1])
            {
                temp=data[loop+1];
                data[loop+1]=data[loop];
                data[loop]=temp;
            }

}
void main()
{
    const int a=15;
    int data[a];
    int loop;
    for(loop=0;loop<=a-1;loop++)
    {
        cout<<" no. "<<loop+1<<":";
    cin>>data[loop];


    }

    cout<<"after sorting:"<<endl;
    bubble(data,a);
    for(loop=0;loop<=a-1;loop++)
        cout<<"no."<<loop+1<<":"<<data[loop]<<endl;


}



你的本意是不是想要排顺序啊,这是一个,但好像看你的

Sharp your mind!
2011-07-08 14:29
亓介
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-5-16
收藏
得分:0 
回复 3楼 lianjiecuowu
谢谢了
2011-07-17 09:09
Hujc71
Rank: 2
等 级:论坛游民
帖 子:49
专家分:65
注 册:2010-3-31
收藏
得分:0 
你最大的问题是,主函数int main()后面的那个分号多余的,有分号表示main结束,看后面代码显然你没这意思!
2011-07-17 13:11
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
错误在這一句:
#include<iostream>

錯誤信息告訴你,它找不到函數所需要的頭文件,即是iostream.h,你寫漏了.h擴展名。

授人以渔,不授人以鱼。
2011-07-17 13:16
Hujc71
Rank: 2
等 级:论坛游民
帖 子:49
专家分:65
注 册:2010-3-31
收藏
得分:0 
错误1:主函数main()后面分号必须去掉!
错误2:数组传递不能整个传递,需把数组拆分成首地址和个数进行传递,如sort(a,b);a是首地址,实参b的值应该30。下面是修改后的代码:
#include<iostream>
using namespace std;
void sort(double ,int);
int main();
{double a[30];
int i,b=30;
for(i=0;i<30;i++)
cin>>a[i];
sort(a,b);
for(i=0;i<30;i++)
cout<<a[i]<<" ";
return 0;
}
void sort(double *p,int b)
{int i,j;
double s;
for(i=0;i<b;i++)
{s=p[i];
for(j=i;j<b;j++)
{if(s<p[j+1])
s=p[j+1];
}
p[i]=s;
}
}
此代码是完成数组元素从大到小排列,else部分可以不要!
2011-07-17 13:55
Hujc71
Rank: 2
等 级:论坛游民
帖 子:49
专家分:65
注 册:2010-3-31
收藏
得分:0 
if(s<p[j])
s=p[j];
手机改的,没调试,写错了,不好意思!
2011-07-17 14:01
langhuan
Rank: 2
等 级:论坛游民
帖 子:22
专家分:36
注 册:2011-7-17
收藏
得分:0 
试试这个:
 #include<iostream>
 using namespace std;
 void sort(double p[30]);
 int main()
 {
     double a[30];
     int i;
     cout<<"请输入数组a的内容:";
     for(i=0;i<30;i++)
         cin>>a[i];
     sort(a);
     for(i=0;i<30;i++)
     {
         if(i%5==0)
             cout<<endl;
         cout<<a[i]<<"    ";
     }
     cout<<endl;
     return 0;
 }
 
void sort(double p[30])
 {
    int i,s,j;
    for(i=0;i<29;i++)
    for(j=i+1;j<30;j++)
    if(p[i]<p[j])
    {
        s=p[i];
        p[i]=p[j];
        p[j]=s;
    }
 }
2011-07-17 17:06
langhuan
Rank: 2
等 级:论坛游民
帖 子:22
专家分:36
注 册:2011-7-17
收藏
得分:0 
试试这个:
 #include<iostream>
 using namespace std;
 void sort(double p[30]);
 int main()
 {
     double a[30];
     int i;
     cout<<"请输入数组a的内容:";
     for(i=0;i<30;i++)
         cin>>a[i];
     sort(a);
     for(i=0;i<30;i++)
     {
         if(i%5==0)
             cout<<endl;
         cout<<a[i]<<"    ";
     }
     cout<<endl;
     return 0;
 }
 
void sort(double p[30])
 {
    int i,s,j;
    for(i=0;i<29;i++)
    for(j=i+1;j<30;j++)
    if(p[i]<p[j])
    {
        s=p[i];
        p[i]=p[j];
        p[j]=s;
    }
 }
2011-07-17 17:06
快速回复:我在编译这个程序时总显示有错误
数据加载中...
 
   



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

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