//使用交换排序法,利用指针和数组对学生成绩进行升序排序
#include <stdafx.h>
#include <iostream>
#include <stdlib.h>
#include <cmath>
#include <iomanip>
using namespace std;
struct student
{
int no;
char name[10];
char sex;
double score;
};
void sort(student *s[],int n)
{
struct student *stumin;
for (int i=0;i<n;i++)
{
for (int j=i+1;j<n;j++)
{
if((*s[i]).score > (*s[j]).score)
{
stumin = s[j];
s[j] = s[i];
s[i] = stumin;
}
}
}
}
#define length 6
void main()
{
struct student stu[5]={{1,"zhao",'M',87.5},{2,"qian",'M',60.8},{3,"sun",'F',96.2},{4,"li",'M',77.8},{5,"zhou",'F',37.6}};
cout<<"使用结构体变量名:"<<endl;
cout <<setw(4)<<"NO."<<setw(8)<<"姓名"<<setw(8)<<"性别"<<setw(8)<<"年龄"<<endl;
for (int i=0;i<5;i++)
{
cout <<setw(4)<<stu[i].no<<setw(8)<<stu[i].name<<setw(8)<<stu[i].sex<<setw(8)<<stu[i].score<<endl;
}
cout<<"使用结构体数组指针:"<<endl;
struct student *s[5];
for (int i=0;i<5;i++)
{
s[i] = &stu[i];
}
cout <<setw(4)<<"NO."<<setw(8)<<"姓名"<<setw(8)<<"性别"<<setw(8)<<"年龄"<<endl;
for (int i=0;i<5;i++)
{
cout <<setw(4)<<(*s[i]).no<<setw(8)<<(*s[i]).name<<setw(8)<<(*s[i]).sex<<setw(8)<<(*s[i]).score<<endl;
}
cout<<"使用算法交换排序法:"<<endl;
struct student *p[5];
for (int i=0;i<5;i++)
{
p[i] = &stu[i];
}
sort(p,5);
cout <<setw(4)<<"NO."<<setw(8)<<"姓名"<<setw(8)<<"性别"<<setw(8)<<"年龄"<<endl;
for (int i=0;i<5;i++)
{
cout <<setw(4)<<(*p[i]).no<<setw(8)<<(*p[i]).name<<setw(8)<<(*p[i]).sex<<setw(8)<<(*p[i]).score<<endl;
}
}
分享到:
相关推荐
使用快速排序法对一维数组进行排序,程序完全可以运行,方便大家学习
定义一个二维数组用于存储学生的学号,姓名和c#课程的考试成绩,然后输入学号、姓名和c#成绩。最后按c#成绩升序和降序输出成绩单。
C#使用希尔排序法对一维数组进行排序
使用希尔排序法对一维数组进行排序,程序很好运行,帮助大家学习
使用冒泡法排序法对一维数组进行排序,程序完全可以运行,方便大家学习
分类标签:选择数组排序,冒泡排序,插入排序,冒泡排序分类标签:选择数组排序,冒泡排序,插入排序,冒泡排序分类标签:选择数组排序,冒泡排序,插入排序,冒泡排序分类标签:选择数组排序,冒泡排序,插入排序,...
要按升序和降序对一组随机生成的整型数组元素进行排序。要求:不提供单独的升序和降序排序方法(不分别定义一个升序和一个降序方法),而只提供一个排序方法SortArray(),它接受一个委托类型的参数compare,该参数...
指针数组为字符串排序,char* str[] = { "beijing","guangdong","shanghai" };进行排序,内涵冒泡排序和快速排序,原理:更改指针指向
用选择排序法对数组排序,选择排序用函数对立起来。
使用选择排序法对以为数组进行排序,程序完全可以运行,方便大家学习
用指针数组的方法将字符串排序
思路以及注意点、说明我都加在了代码旁边的注释里,好好悟悟!
用c++做的例子,利用指针数组冒泡法排序
先点击随机产生数字,然后按升序排序。用户可以改变数字个数,或改变升序为降序排。
用指针数组的方法将字符串排序
上次的改进,审核求过.
本题希望通过回调函数,定义一个冒泡排序函数,可以根据函数指针指向不同的比较函数,分别实现从大到小和从小到大的排序。 希望通过这道题目,可以帮助大家理解函数指针与回调函数。本题较为简单,仅能处理整数的...
matlab数组排序matlab数组排序matlab数组排序matlab数组排序matlab数组排序matlab数组排序matlab数组排序matlab数组排序matlab数组排序matlab数组排序matlab数组排序matlab数组排序matlab数组排序matlab数组排序...
易语言利用数组进行数值排序,简单粗暴
使用直接插入法对一维数组进行排序,程序可以完全运行,方便大家学习