c语言编程怎么继续输入不退出,C语言编程,运算结果无法输入第二行数据,该怎么解决?...

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

评论古今

2017.06.25

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:46%    等级:8

已帮助:462人

测试结果:

Input name and scores:

abc 80

efg 90

hij 100

# 100

Enter a name:efg

name:efg math:90

Enter a name:abc

name:abc math:80

Enter a name:hij

name:hij math:100

Enter a name:ok

Not been found!

#include 

#include 

#define MAX 101

struct student

{

char name[11];

int math;

};

//在这里增加函数的声明

void reading(struct student *a,int *n);

void search(struct student *b,char *x,int n);

void main()

{

struct student s[MAX];

int j,num;

char name[11];

reading (s,&num);

getchar ();

for(j=1;j<5;j++)  //一共查找4次

{

printf("Enter a name:");

gets(name);

search(s,name,num);

}

}

//原代码reading(struct student *a,int *n)

void reading(struct student *a,int *n)

{

int i=1;

printf("Input name and scores:\n");

scanf("%s%d",a[i].name,&a[i].math);

//原代码while(strcmp(a[i].name,"#")); //while()末尾多了一个分号(;)

while(strcmp(a[i].name,"#"))

{

i++;

scanf("%s%d",a[i].name,&a[i].math);

}

*n=--i;

}

//原代码search(struct student *b,char *x,int n)

void search(struct student *b,char *x,int n)

{

int i;

strcpy(b[0].name,x);

i=n;

while (strcmp(b[i].name,b[0].name))

i--;

if(i!=0)

printf("name:%s math:%d\n",b[i].name,b[i].math);

else

printf("Not been found!\n");

}

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值