我早年寫的一個程序缀雳,大一上半學(xué)期的時候?qū)懙?/h3>
當(dāng)時讀大一,這是我哥給我的一個題梢睛,計算機(jī)研究生的機(jī)試最后一道大題肥印,當(dāng)時的我就躍躍欲試三個小時,做出來這個樣子:
用C語言绝葡,沒有持久化深碱,實(shí)現(xiàn):
操作提示: 1.插入記錄 2.查詢記錄 3.按英語成績排序 4.刪除記錄 5.修改記錄 6.退出
超級簡單,程序也很拙劣藏畅。當(dāng)時那種心境敷硅,發(fā)出來懷念。
#include <stdio.h>
struct student
{
int number;
char name[20];
int math;
int english;
int mark;
};
struct student stu[200],exc;
struct student list[200]; //排序用
int n=0; //數(shù)組的總數(shù)
int fun1()
{
printf("輸入新的學(xué)生學(xué)號,數(shù)學(xué)成績,英語成績,名字 逗號隔開\n");
scanf("%d,%d,%d,%s",&stu[n].number,&stu[n].math,&stu[n].english,stu[n].name);
stu[n].mark=n;
n++;
return 0;
}
int fun2()
{
printf("輸入查詢的學(xué)生學(xué)號:\n");
int l;//暫時存儲輸入學(xué)號
int i,x=0;
scanf("%d",&l);
printf("查詢結(jié)果:\n");
for(i=0;i<=n;i++)
{
if(stu[i].number==l)
{
printf("\n學(xué)生信息:\n學(xué)號:%d\n名字:%s\n數(shù)學(xué)成績:%d\n英語成績:%d\n",stu[i].number,stu[i].name,stu[i].math,stu[i].english);
x=1;
}
if(x==0)printf("未找到\n");
}
return 0;
}
int fun3()
{
int i,j,min,imin;
for(i=0;i<n;++i)
list[i]=stu[i];
for(j=0;j<n;j++)
{
min=list[j].english; //initialization the min
for(i=j;i<n;i++)
{
if(list[i].english<=min)
imin=i; //mark the min's situation
}
exc=list[imin]; //exchange the a[j] and a[min]
list[imin]=list[j];
list[j]=exc;
}
for(i=0;i<n;++i)//輸出循環(huán)
{
printf("學(xué)號:%d 名字:%s 數(shù)學(xué)成績:%d 英語成績:%d\n",list[i].number,list[i].name,list[i].math,list[i].english);
}
return 0;
}
int fun4()
{
printf("輸入刪除的學(xué)號:\n");
int d;
int lin,i,j;
scanf("%d",&d);
for(i=0;i<=n;++i)
{
if(stu[i].number==d)
{
lin=stu[i].mark;
for(j=lin;j<=(n-1);++j)
{stu[lin]=stu[lin+1];}
n-=1;
}
}
return 0;
}
int fun5()
{
printf("請輸入要修改信息的學(xué)生的學(xué)號;\n");
int l;//暫時存儲輸入學(xué)號
int i,x=0;
scanf("%d",&l);
for(i=0;i<n;i++)
{
if(stu[i].number==l)
{
printf("輸入該學(xué)號新的學(xué)號,數(shù)學(xué)成績,英語成績,名字 逗號隔開\n");
scanf("%d,%d,%d,%s",&stu[i].number,&stu[i].math,&stu[i].english,stu[i].name);
x=1;
}
}
if(x==0)printf("找不到改學(xué)號的信息\n");
return 0;
}
int main()
{
int i;
/* 學(xué)號初始化 */
for(i=0;i<200;++i)
stu[i].number=0;
int s; //操作提示使用變量
while(printf("操作提示:\n1.插入記錄\n2.查詢記錄\n3.按英語成績排序\n4.刪除記錄\n5.修改記錄\n6.退出\n"),scanf("%d",&s)!=EOF)
{
switch(s)
{
case 1:fun1();break;
case 2:fun2();break;
case 3:fun3();break;
case 4:fun4();break;
case 5:fun5();break;
case 6:return 0;
default : printf("error!\n");break;
}
}
}