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筛选法求素数

相关推荐

  1. c语言排序实验

    2024-03-22 20:40:04       36 阅读
  2. C语言实现冒泡排序

    2024-03-22 20:40:04       41 阅读
  3. C语言实现各种排序

    2024-03-22 20:40:04       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-22 20:40:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-22 20:40:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-22 20:40:04       87 阅读
  4. Python语言-面向对象

    2024-03-22 20:40:04       96 阅读

热门阅读

  1. 蓝桥杯刷题记录之数字王国之军训排队

    2024-03-22 20:40:04       39 阅读
  2. Uni-app开发介绍及入门

    2024-03-22 20:40:04       34 阅读
  3. CUDA学习笔记07:shared memory Code

    2024-03-22 20:40:04       47 阅读
  4. [C++提高编程](二):模板--类模板

    2024-03-22 20:40:04       48 阅读
  5. CCF软件能力认证202312-1——仓库规划

    2024-03-22 20:40:04       48 阅读
  6. 5.3、【AI技术新纪元:Spring AI解码】图像生成API

    2024-03-22 20:40:04       38 阅读
  7. 树形el-select封装

    2024-03-22 20:40:04       43 阅读