C++编程题目 一维数组

编个程序, 要有排序 输出 输入,而且要用一维数组,在主函数中调用3-4个函数 ( 题目自己定,可以是统计考试成绩之类的)
很急啊,明天9点半之前期望得到答案
拜谢啦
虽然现在很晚了,还是希望能有哪位高手帮忙下
谢谢啦
回答的难度弄低点就可以了,有些语句老师没教过的....就include void main search int printf for if scanf return这些语句就可以了,我就学了点基础,水平太高,当然就知道不是我做的了,拜托
因为时间紧才这么迫切的,其实题目应该比较简单的对于高手们
希望用汉语解释下哈,详细点啦 谢谢啦
弄错了 。是用C语言
弄错了 。是用C语言
弄错了 。是用C语言
弄错了 。是用C语言

已经对程序进行了修改,是c语言来写的,并且调试运行通过,没有问题!
一个简单的排序的小例子,程序说明和代码如下所示,仅供参考
程序说明:
(1)调用自定义init函数输入N个元素的整型数据
(2)调用自定义sout函数对生成的N个元素进行排序
(3)调用自定义insert函数给原有的数组中插入一个新的数字
(4)调用自定义hprint函数输出查看数组各个元素值
如上所述,该小程序中包括主函数main和自定义的4个函数,共5个函数有要操作包括:输入,排序,插入,输出

#include <stdio.h>
#define N 10 //宏定义,如果没有讲到的话,可以将此句去掉,将主函数main中有的N的地方全部改为10即可
void main(){

void init(int a[],int n);//自动输入函数
void sort(int a[],int n);//排序
void hprint(int a[],int n);//输出
void insert(int a[],int &n,int num);//插入新元素
int a[20];
int n=N,num;
init(a,n);
sort(a,n);
printf("排序后的整数序列为:");
hprint(a,n);
printf("请输入要插入的整数: ");
scanf("%d",&num);
insert(a,n,num);
printf("\n\n插入新数据后的整数序列为:");
hprint(a,n);
}

void hprint(int a[],int n){//输出查看函数
int i;
for(i=0;i<n;i++){
printf("%d ",a[i]);
}
printf("\n\n");
}

void init(int a[],int n){//初始化,输入n个整数元素,以空格或回车区分开
int i;
printf("请输入%d个整数:\n\n",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf("\n\n");
}

void sort(int a[],int n){//排序部分
int i,j,hlwei;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(a[i]>a[j]){
hlwei=a[i];
a[i]=a[j];
a[j]=hlwei;
}
}

void insert(int a[],int &n,int num){//插入一个新的数据
for(int i=0;i<n;i++){
if(num<=a[i]){
for(int j=n;j>=i;j--)
a[j+1]=a[j];
a[i]=num;
break;
}
}
n++;
}

希望对你有帮助,呵呵!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-14
#include <iostream>
#include <string>
using namespace std;
#define num 5 //可以通过修改此处的值来决定学生的个数
struct Stu{
string name;
float score;
};
Stu*pstu;
void sort(Stu*pstu);
void input(Stu*pstu);
void output(Stu*pstu);
void Max(Stu*pstu);
int main(){
pstu= new Stu[num];
input(pstu);
sort(pstu);
output(pstu);
Max(pstu);
delete []pstu;
return 0;
}
void sort(Stu*pstu){
for(int i=0;i<num-1;i++){
for(int j=0;j<num-1-i;j++){
if(pstu[j].score>pstu[j+1].score)swap(pstu[j],pstu[j+1]);
}
}
}
void input(Stu*pstu){
for(int i=0;i<num;i++){
cout <<"输入第"<<i+1<<"个学生的姓名,成绩\n";
cin>>pstu[i].name>>pstu[i].score;
}
}
void output(Stu*pstu){
cout<<"姓名 成绩\n";
for(int i=0;i<num;i++){
cout <<pstu[i].name<<" "<<pstu[i].score<<endl;
}
}
void Max(Stu*pstu){
Stu tmp;
tmp.name=pstu[0].name;
tmp.score=pstu[0].score;
for(int i=1;i<num;i++){
if(tmp.score<pstu[i].score)tmp.score=pstu[i].score;
}
cout <<"最高分的学生成绩如下:\n";
cout <<tmp.name<<" "<<tmp.score;
}
第2个回答  2009-05-14
//4, 图状结构
// *熟悉图的结构和其基本操作,学会利用递归或非递归(任选其一)的方法对其进行遍历
#include<iostream>
#include<algorithm>
using namespace std;
int a[100];
void sort_a(int a[])
{
for(int i=0;i<5;i++)
cout<<a[i]<<"\t";
int n=sizeof(a)+1;
sort(a,a+n);
}
void input(int a[])
{
cout<<"请输入元素个数:";
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
}
void output(int a[])
{
int n=sizeof(a)+1;
for(int i=0;i<n;i++)
cout<<a[i]<<"\t";
cout<<endl;

}

int main()
{
input(a);
sort_a(a);
output(a);
return 0;
}
第3个回答  2009-05-14
#include <stdio.h>
#include <malloc.h>

int *input(int &n)
{
int *array;
printf("input n: ");
scanf("%d", &n);
printf("input %d numbers: ", n);
array = (int*)malloc(n * sizeof(int));
int i, flag, temp;
for(i = 0, flag = 0; i < n; i++, flag++)
{
scanf("%d", &temp);
if(flag == 0)
array[i] = temp;
else
{
for(int j = 0; j < flag; j++)
{
if(temp < array[j])
{
int t = temp;
temp = array[j];
array[j] = t;
}
}
array[flag] = temp;
}
}
return array;
}

void output(int *array, int n)
{

for(int i = 0; i < n; i++)
printf("%d\t", array[i]);
printf("\n");
}

int main()
{
int size = 0;
int *array = input(size);
output(array, size);
free(array);
return 0;
}