wordpress 404跳转首页网站排名优化教程
实验目的及要求:
1.熟悉结构体的构建。
2.了解数据的排序及插入。
实验设备环境:
1.微型计算机
2.DEV C++(或其他编译软件)
实验步骤:
任务:建学生结构体,包含(学号,姓名,性别,年龄,总分),最多可存放100名学生信息,录入10名学生信息,输出。按照总分从高到低排序,输出。在录入一名学生信息,插入到合适位置,保持总分顺序。
解题思路:
构建结构体,然后将数据依次输入结构体中,随后进行排序输出。
算法代码如下:
#include<stdio.h>
#include <iostream>
#include<string.h>
struct student{char sno[20], name[20];char sex[20];int old;float sum;
};
void print(struct student stu[100],int n){for (int i = 0; i < n;i++){printf("%s %s %s %d %.2f\n", stu[i].sno, stu[i].name, stu[i].sex, stu[i].old, stu[i].sum);}
}
void sort(struct student s[100],int n){struct student a[100];for (int i = 1; i < n;i++){for (int j = 0; j < n - i;j++){if(s[j].sum<s[j+1].sum){a[j] = s[j];s[j] = s[j + 1];s[j + 1] = a[j];}}}
}
int add(struct student s[100],int n){int m;printf("数量:\n");scanf("%d", &m);for (int i = n; i < m + n;i++){printf("输入第%d位学生的信息:\n",i+1);scanf("%s %s %s %d %f", &s[i].sno, s[i].name, s[i].sex, s[i].old, s[i].sum);}return m;
}
int main(void){int n;printf("请输入需要录入学生的数量:\n");scanf("%d",&n);struct student s[100];for(int i=0;i<n;i++){ printf("请输入第%d个学生的信息:\n",i+1);scanf("%s %s %s %d %f",&s[i].sno,&s[i].name,&s[i].sex,&s[i].old,&s[i].sum);}printf("排序前:\n");print(s,n);sort(s,n);printf("排序后:\n");print(s,n);printf("是否继续添加学生信息,yes或no?\n");char a[10];scanf("%s",&a);if(strcmp(a,"yes")==0){int m = add(s,n);for(int i=0;i<m;i++){ printf("请输入第%d个学生的信息:\n",i+1);scanf("%s %s %s %d %f",&s[i].sno,&s[i].name,&s[i].sex,&s[i].old,&s[i].sum);}sort(s,m+n);printf("添加再次排序后:\n");print(s,n+m);printf("程序运行结束!"); }else if(strcmp(a,"no")==0) {printf("程序运行结束!");}return 0;
}