- 苏萦
-
已经对程序进行了修改,是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(" 插入新数据后的整数序列为:");
hprint(a,n);
}
void hprint(int a[],int n){//输出查看函数
int i;
for(i=0;i<n;i++){
printf("%d ",a[i]);
}
printf(" ");
}
void init(int a[],int n){//初始化,输入n个整数元素,以空格或回车区分开
int i;
printf("请输入%d个整数: ",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf(" ");
}
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++;
}
希望对你有帮助,呵呵!
- 瑞瑞爱吃桃
-
#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<<"个学生的姓名,成绩 ";
cin>>pstu[i].name>>pstu[i].score;
}
}
void output(Stu*pstu){
cout<<"姓名 成绩 ";
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 <<"最高分的学生成绩如下: ";
cout <<tmp.name<<" "<<tmp.score;
}
- max笔记
-
//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]<<" ";
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]<<" ";
cout<<endl;
}
int main()
{
input(a);
sort_a(a);
output(a);
return 0;
}
- wpBeta
-
#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 ", array[i]);
printf(" ");
}
int main()
{
int size = 0;
int *array = input(size);
output(array, size);
free(array);
return 0;
}