-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intlen=0;
typedefstructnode{
charS_num[10];
charname[15];
charP_num[2];
charC_num[2];
}N;
voidinput(Na[]){
intx=1,i=0,j,k,b;
Np[1];
while(x){
printf("请输入学号:");
scanf("%s",a[i].S_num);
printf("请输入姓名:");
scanf("%s",a[i].name);
printf("请输入系别:");
scanf("%s",a[i].P_num);
printf("请输入班号:");
scanf("%s",a[i].C_num);
i++;
printf("按0退出,按其他键继续:");
scanf("%d",&x);}
for(k=0;k<i;k++)
{for(j=0;j<i-k-1;j++)
{b=strcmp(a[j].S_num,a[j+1].S_num);
if(b==1)
{strcpy(p[0].S_num,a[j].S_num);
strcpy(p[0].name,a[j].name);
strcpy(p[0].P_num,a[j].P_num);
strcpy(p[0].C_num,a[j].C_num);
strcpy(a[j].S_num,a[j+1].S_num);
strcpy(a[j].name,a[j+1].name);
strcpy(a[j].P_num,a[j+1].P_num);
strcpy(a[j].C_num,a[j+1].C_num);
strcpy(a[j+1].S_num,p[0].S_num);
strcpy(a[j+1].name,p[0].name);
strcpy(a[j+1].P_num,p[0].P_num);
strcpy(a[j+1].C_num,p[0].C_num);}}}
len=i;}
voidoutput(Na[]){
inti=0;
while(i<len){
printf("学号:");
printf("%s\t",a[i].S_num);
printf("姓名:");
printf("%s\t",a[i].name);
printf("系别:");
printf("%s\t",a[i].P_num);
printf("班号:");
printf("%s\n",a[i].C_num);
i++;}}
voidoutput_1(Na[]){
inti=0,b;
chars[2];
printf("请输入要查找的系别:");
scanf("%s",&s);
while(i<len){
if(!strcmp(a[i].P_num,s)){
printf("学号:");
printf("%s\t",a[i].S_num);
printf("姓名:");
printf("%s\t",a[i].name);
printf("系别:");
printf("%s\t",a[i].P_num);
printf("班号:");
printf("%s\n",a[i].C_num);}
i++;}
printf("继续录入请按1:");
scanf("%d",&b);}
intmain(){
Na[100];
while(1){
input(a);
output(a);
output_1(a);}
return0;}Metadata
Metadata
Assignees
Labels
No labels
