12月23日 周六
问题:
新知识:
暂无
/* Note:Your choice is C IDE */
#include "stdio.h"
#define N 10//全局宏
struct student//全局结构体
{
int num;
char name[100];
char sex[20];
char nation[100];
char tel[100];
};
struct list//全局结构体
{
struct student a[N],t;
int len;
};
struct list q;//全局结构体变量
int r,i,j,mid,low,high;//定义变量
one()
{
q.len=0;//赋初值
printf("请输入要录入的学生数量");//提示
scanf("%d",&r);//用户输入
for(i=0;i<r;i++)//循环
{
printf("第%d个学生\n",i+1);//提示
printf("\t\t请输入学生编号:");//提示
scanf("%d",&q.a[i].num);//用户输入
printf("\t\t请输入学生姓名:");//提示
scanf("%s",q.a[i].name);//用户输入
printf("\t\t请输入学生性别:");//提示
scanf("%s",q.a[i].sex);//用户输入
printf("\t\t请输入学生籍贯:");//提示
scanf("%s",q.a[i].nation);//用户输入
printf("\t\t请输入学生电话:");//提示
scanf("%s",q.a[i].tel);//用户输入
q.len++;
}
}
two()
{
for(i=0;i<q.len;i++)//循环
{
printf("第%d个学生\n",i+1);//提示
printf("\t\t学生学号:%d\n",q.a[i].num);//提示
printf("\t\t学生姓名:%s\n",q.a[i].name);//提示
printf("\t\t学生性别:%s\n",q.a[i].sex);//提示
printf("\t\t学生籍贯:%s\n",q.a[i].nation);//提示
printf("\t\t学生电话:%s\n",q.a[i].tel);//提示
}
}
three()
{
int y;
printf("请输入要插入下标:");//提示
scanf("%d",&y);//用户输入
if(y<=q.len)
{
for(i=q.len;i>=y;i--)//循环
{
q.a[i+1]=q.a[i];
}
printf("\t\t请输入学生编号:");//提示
scanf("%d",&q.a[y].num);
printf("\t\t请输入学生姓名:");//提示
scanf("%s",q.a[y].name);
printf("\t\t请输入学生性别:");//提示
scanf("%s",q.a[y].sex);
printf("\t\t请输入学生籍贯:");//提示
scanf("%s",q.a[y].nation);
printf("\t\t请输入学生电话:");//提示
scanf("%s",q.a[y].tel);
q.len++;
printf("插入成功\n");//提示
printf("插入后学生如下:\n");//提示
for(i=0;i<q.len;i++)//循环
{
printf("第%d个学生\n",i+1);//提示
printf("\t\t学生学号:%d\n",q.a[i].num);//提示
printf("\t\t学生姓名:%s\n",q.a[i].name);//提示
printf("\t\t学生性别:%s\n",q.a[i].sex);//提示
printf("\t\t学生籍贯:%s\n",q.a[i].nation);//提示
printf("\t\t学生电话:%s\n",q.a[i].tel);//提示
}
}
else
{
printf("您要插入位置不合法或者顺序表已满\n");//提示
}
}
four()
{
int b;
printf("请输入要删除的下标:");//提示
scanf("%d",&b);//用户输入
if(b>=0&&b<q.len)
{
for(i=b+1;i<=q.len;i++)//循环
{
q.a[i]=q.a[i+1];
}
printf("删除成功\n");//提示
q.len--;
}
else
{
printf("下标不合法\n");//提示
}
}
five()
{
printf("排序后的结果为:\n");//提示
for(i=1;i<q.len;i++)//循环
{
for(j=0;j<q.len-i;j++)//循环
{
if(q.a[j].num>q.a[j+1].num)
{
q.t=q.a[j];
q.a[j]=q.a[j+1];
q.a[j+1]=q.t;
}
}
}
for(i=0;i<q.len;i++)//循环
{
printf("第%d个学生\n",i+1);//提示
printf("\t\t学生学号:%d\n",q.a[i].num);//提示
printf("\t\t学生姓名:%s\n",q.a[i].name);//提示
printf("\t\t学生性别:%s\n",q.a[i].sex);//提示
printf("\t\t学生籍贯:%s\n",q.a[i].nation);//提示
printf("\t\t学生电话:%s\n",q.a[i].tel);//提示
}
}
six()
{
int key,z=0;
printf("请输入要查找的学生id:");//提示
scanf("%d",&key);//用户输入
for(i=0;i<q.len;i++)//循环
{
if(key==q.a[i].num)
{
printf("查找成功在第%d个位置\n",i);//提示
z++;
}
}
if(z==0)
{
printf("查找失败\n");//提示
}
}
void main()
{
int x;
while(1)
{
printf("\n\t\t============================\n");//提示
printf("\t\t1.录入一个或多个学生信息\n");//提示
printf("\t\t2.打印所有学生信息\n");//提示
printf("\t\t3.插入一个学生信息\n");//提示
printf("\t\t4.删除一个学生信息\n");//提示
printf("\t\t5.排序学生信息\n");//提示
printf("\t\t6.查询一个学生信息\n");//提示
printf("\t\t0.退出\n");//提示
printf("\t\t============================\n");//提示
printf("请输入您的选择:");//提示
scanf("%d",&x);//用户输入
switch(x)//选择
{
case 1:one();//函数调用
break;
case 2:two();//函数调用
break;
case 3:three();//函数调用
break;
case 4:four();//函数调用
break;
case 5:five();//函数调用
break;
case 6:six();//函数调用
break;
case 0:exit(0);//退出
break;
default:printf("您输入的编号有误!\n");//提示
}
}
}
感悟:世界很大,心却很小。
得与失:听了《一千零一夜》了不起的盖茨比
今天有时间就应该把以前的问题解决一下。。。
伟大始于渺小