数据结构有错请大大们改一下
- 提问者网友:蔚蓝的太阳
- 2021-07-18 00:11
#define max 4
typedef struct{
int xh;
char name[16];
char dz[20];
int cg;
}ren;
ren r[max+1];
diao_y(ren r[])
{
int i,j,floa;
for(i=1;i<max+1;i++)
{ floa=1;
for(j=1;j<max+1;j++)
if(r[j+1].xh<r[j].xh)
{
floa=0;
r[0]=r[j];
r[j]=r[j+1];
r[j+1]=r[0];
}
if(floa)
break;
}
}
main()
{
int i,j,k;
int t;
for(i=1;i<max+1;i++)
{
printf("please input student information:\n");
scanf("%d,%s,%s,%d",&r[i].xh,r[i].name,r[i].dz,&r[i].cg);
getchar();
}
printf("学号.xh是关键字\n");
printf("如果要修改,请选择:1\n");
printf("查找请选择:2 \n");
printf("原样输出 请选择:3\n");
scanf("%d",&t);
getchar();
switch(t)
{ case 1:printf("请输入修改人学号:");
scanf("%d",&k);
if(k==r[i].xh)
{ printf("请输入修改人信息\n");
scanf("%d,%s,%s,%d",&r[i].xh,r[i].name,r[i].dz,&r[i].cg); }
else
printf("输入有误:");
diao_y(r);
for(j=1;j<max+1;j++)
printf("%d,%s,%s,%d",r[i].xh,r[i].name,r[i].dz,r[i].cg);
break;
case 2:printf("请输入查找人学号:\n");
scanf("%d",&k);
{
if(k==r[i].xh)
printf("%d,%s,%s,%d",r[i].xh,r[i].name,r[i].dz,r[i].cg);
else
printf("输入有误:");
break;
}
case 3: printf("原样输出:")
diao_y(r);
for(j=1;j<max+1;j++)
{
printf("%d,%s,%s,%d",r[i].xh,r[i].name,r[i].dz,r[i].cg);
}
break; }
getch();
}
- 五星知识达人网友:孤老序
- 2021-07-18 01:26
都是一些很小的错误,修改过来了。如果你的程序算法没有什么问题的话
#include"stdio.h"
#define max 4
typedef struct{
int xh;
char name[16];
char dz[20];
int cg;
}ren;
ren r[max+1];
void diao_y(ren r[])
{
int i,j,floa;
for(i=1;i<max+1;i++)
{ floa=1;
for(j=1;j<max+1;j++)
if(r[j+1].xh<r[j].xh)
{
floa=0;
r[0]=r[j];
r[j]=r[j+1];
r[j+1]=r[0];
}
if(floa)
break;
}
}
main()
{
int i,j,k;
int t;
for(i=1;i<max+1;i++)
{
printf("please input student information:\n");
scanf("%d,%s,%s,%d",&r[i].xh,r[i].name,r[i].dz,&r[i].cg);
getchar();
}
printf("学号.xh是关键字\n");
printf("如果要修改,请选择:1\n");
printf("查找请选择:2 \n");
printf("原样输出 请选择:3\n");
scanf("%d",&t);
getchar();
switch(t)
{ case 1:printf("请输入修改人学号:");
scanf("%d",&k);
if(k==r[i].xh)
{ printf("请输入修改人信息\n");
scanf("%d,%s,%s,%d",&r[i].xh,r[i].name,r[i].dz,&r[i].cg); }
else
printf("输入有误:");
diao_y(r);
for(j=1;j<max+1;j++)
printf("%d,%s,%s,%d",r[i].xh,r[i].name,r[i].dz,r[i].cg);
break;
case 2:printf("请输入查找人学号:\n");
scanf("%d",&k);
{
if(k==r[i].xh)
printf("%d,%s,%s,%d",r[i].xh,r[i].name,r[i].dz,r[i].cg);
else
printf("输入有误:");
break;
}
case 3: printf("原样输出:");
diao_y(r);
for(j=1;j<max+1;j++)
{
printf("%d,%s,%s,%d",r[i].xh,r[i].name,r[i].dz,r[i].cg);
}
break; }
getchar();
}