如何诊断程序c语言的逻辑错误,谁能找出该程序的逻辑错误?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

# include

# include

struct Student

{

int age;

int score;

char name[100];

};

void intput(struct Student * p,int len)

{

int i;

for(i=0; i

{

printf("请输入第%d个同学的信息\n",(i+1));

printf("age=");

scanf("%d", &p[i].age );

printf("score=");

scanf("%d", &p[i].score );

printf("name=");

scanf("%s", p[i].name );

}

}

void output(struct Student * q,int len)

{

int i;

printf("\n\n学生信息是:\n");

for(i=0; i

{

printf("第%d个同学的信息\n",(i+1));

printf("age=");

printf("%d\n",q[i].age );

printf("score=");

printf("%d\n",q[i].score );

printf("name=");

printf("%s\n",q[i].name );

}

}

void sort(struct Student * prt,int len)

{

int i,j;

struct Student t;

for(i=0; i

{

for(j=0; j

{

if(prt[j].score < prt[j+1].score)

{

t = prt[j+1];

prt[j+1] = prt[j];

prt[j] = t;

}

}

}

}

int main(void)

{

int len;

struct Student * ptr;

struct Student st;

int i;

printf("请输入您需要排序的同学个数:\n");

printf("len =");

scanf("%d",&len);

ptr = (struct Student *)malloc(len * (sizeof(struct Student)));

intput(&st,len);

sort(&st,len);

output(&st,len);

free(ptr);

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值