C语言问题,求解答

定义结构体teleno,包含两个成员:姓名,电话定义一个查找某人电话号码的函数。编写程序,输入若干人员的姓名和电话,以“#”结束,并查找某人的电话号。#include<s... 定义结构体teleno,包含两个成员:姓名,电话
定义一个查找某人电话号码的函数。
编写程序,输入若干人员的姓名和电话,以“#”结束,并查找某人的电话号。
#include<stdio.h>
#include<string.h>
struct teleno{
char name[10];
char a[10];
};
void chazhao(struct teleno s[],int n);
void main()
{
struct teleno s[3];
int i=0;
printf("输入3个人的信息:\n");
do
{
scanf("%s%s",s[i].name,s[i].a);
i++;
}
while
(s[i].name[0]!='#' && i<3);
for(i=0;i<3;i++)
{
printf("%s",s[i].name);
printf("%s",s[i].a);
printf("\n");
}
chazhao(s,3);
}
void chazhao(struct teleno s[],int n)
{
char a[10];
int i=0;
printf("输入要查找的人的姓名:\n");
scanf("%s",a);
for(i=0;i<3;i++)
{if(strcmp(a,s[i].name))
continue;
else
printf("%s",s[i].a);
}
}
展开
 我来答
Pigpigever
推荐于2016-08-16
知道答主
回答量:11
采纳率:0%
帮助的人:10万
展开全部
感觉你这个代码和题目要求的不太一样。要是按照题目中所描述的那样的话,输入的人数是不确定的,当输入’#“号的时候输入结束,而且你输入联系人信息以后没有必要再次输出联系人的信息啊, = =最后要说的就是你函数里面写的代码其实可以精简一点的,直接写成:
for(i=0;i<3;i++)
{
if(strcmp(a,s[i].name)!=0)
printf("%s",s[i].a);
}
这样代码就会精简一点,还有你的代码写的时候要记得缩进,用英文命名的时候就不要用拼音啦,在网上百度一下又不会怎么样 = =而且还可以学多几个单词。。。
希望我的回答能够被采纳~~如果没有回答到点的话请追问哈~~
更多追问追答
追问
我在输入的时候,输入#还是无法结束输入,该怎么解决啊?
追答
输入信息的时候可以把代码改成下面这样子:
for(int i=0;i<3;i++)
{
scanf("%s",s[i].name);
getchar();
if(s[i].name[0]=='#')
break;
scanf("%s",s[i].a);
}
不过这样改的话,下面输出三个成员信息的时候就会有点问题,因为你中途停止了输入,所以说输入的成员的信息是不足三个的,然而输出的时候是三个成员,这样就会输出垃圾值,你可以在代码里面加一个变量来计算次数,然后根据次数选择输出的成员数量
xoaxa
2014-12-24 · TA获得超过8608个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3435万
展开全部
#include <stdio.h>
#include <string.h>

struct teleno {
char name[30];
char phone[18];
};

void chazhao(struct teleno s[],int n);

void main() {
struct teleno a[3];
int i = 0;
printf("输入3个人的信息:\n");
do {
scanf("%s%s",a[i].name,a[i].phone);
i++;
}while(a[i].name[0] != '#' && i < 3);
for(i = 0;i < 3;i++)
printf("%s\n",a[i].name,a[i].phone);
chazhao(a,3);
}

void chazhao(struct teleno a[],int n) {
char name[30];
int i = 0;
printf("输入要查找的人的姓名:");
scanf("%s",name);
for(i = 0;i < 3;i++) {
if(strcmp(name,a[i].name) == 0) {
printf("%s\n",a[i].name,a[i].phone);
return;
}
}
printf("没找到.\n");
}
更多追问追答
追问

用你的程序运行了以后是这样,输完了#不能结束输入啊
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式