c语言排序实验题

1问题:对学生的整体结构体信息进行整体排序

#include<stdio.h>

#define n 3

int i,j,k,t;

void input(int *p)

{

for(i=0;i<n;i++)

{

printf("请输入第%d名学生的年龄:",i+1);

scanf("%d",(p+i));

}

printf("\n则原先3名学生的年龄为:\n");

for(i=0;i<n;i++)

{

printf("%d\t",*(p+i));

}

}

void paixu(int *p)

{

int *a,*b;

for(i=0;i<n-1;i++)

{

k=i;

for(j=i+1;j<n;j++)

{

a=(p+i);

b=(p+j);

if(*(p+i)>*(p+j)) k=j;

}

if(k!=i)

{

t=*a;

*a=*b;

*b=t;

}

}

}

void output(int *p)

{

printf("\n则后来3名学生的年龄按照升序排序为:\n");

for(i=0;i<n;i++)

{

printf("%d\t",*(p+i));

}

}

int main()

{

int arr[3],*p=arr;

input(p);

paixu(p);

output(p);

return 0;

}

2#include<stdio.h>

#include<string.h>

#define n 3

int i,j,t,m;

void input(char brr[n][20])

{

for(i=0;i<n;i++)

{

printf("请输入第%d名学生的姓名:",i+1);

gets(brr[i]);

printf("\n");

}

}

void swap(char brr[n][20])

{

char s[200];

int k;

for(i=0;i<n-1;i++)

{

k=i;

for(j=i+1;j<n;j++)

{

if(strcmp(brr[i],brr[j])>0) k=j;

}

if(k!=i)

{

strcpy(s,brr[i]);

strcpy(brr[i],brr[j]);

strcpy(brr[j],s);

}

}

}

void output(char brr[n][20])

{

printf("按照升序为:");

for(i=0;i<n+1;i++)

{

printf("%s\t",brr[i]);

}

}

int main()

{

char arr[n][20],(*p)[20];

p=arr;

input(p);

swap(p);

output(p);

return 0;

}

3#include<stdio.h>

#define n 2

int i,j;

void input(double arr[])

{

for(i=0;i<n;i++)

{

printf("请输入第%d名学生的成绩:",i+1);

scanf("%lf",&arr[i]);

}

}

void sort(double arr[])

{

int k;

double t;

for(i=0;i<n-1;i++)

{

k=i;

for(j=i+1;j<n;j++)

{

if(arr[i]>arr[j]) k=j;

}

if(k!=i)

{

t=arr[i];

arr[i]=arr[j];

arr[j]=t;

}

}

}

void output(double arr[])

{

printf("按照升序输出为:");

for(i=0;i<n;i++)

{

printf("%f\t",arr[i]);

}

}

int main()

{

double arr[n],*p=arr;

input(p);

sort(p);

output(p);

}

4筛选法求素数

相关推荐
谭欣辰9 分钟前
C++ 排列组合完整指南
开发语言·c++·算法
代码中介商23 分钟前
银行管理系统的业务血肉 —— 流程、状态机、输入校验与持久化(下篇)
c语言·算法
foundbug9991 小时前
自适应滤除直达波干扰的MATLAB实现
开发语言·算法·matlab
MegaDataFlowers2 小时前
206.反转链表
数据结构·链表
CN-Dust3 小时前
【C++】while语句例题专题
数据结构·c++·算法
灵智实验室3 小时前
PX4位置速度估计技术详解(四):LPE 激光雷达高度融合的实现错误
算法·无人机·px 4
CQU_JIAKE3 小时前
【A】3742,3387,并查集
算法
gihigo19983 小时前
CHAN时延估计算法(二维/三维定位实现)
算法
freexyn4 小时前
Matlab自学笔记七十六:表达式的展开、因式分解、化简、合并同类项
笔记·算法·matlab
样例过了就是过了4 小时前
LeetCode热题 不同路径
c++·算法·leetcode·动态规划