从键盘输入3个人的姓名和电话号码,编程实现根据姓名或电话号码进行查询的功能。 【提示】定义结构体 per,包含成员:name[20]表示姓名,phone[20]表示电话码。姓 名和电话号码的比较可使用字符串库函 数 strcmp()实现,增加头文件#include 输入2表示根据电话号码进行查询,输入0表示 另外要求输入1表示根据姓名进行查询,结束。
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
benbenli 2021-05-20 08:18最佳回答 专家已采纳#include <stdio.h> #include <string.h> #define N 3 typedef struct person { char name[20]; char phone[20]; } person; int main() { person contacts[N]; int i, choice; char query[20]; for (i = 0; i < N; ++i) { printf("Please enter the name and phone of person %d (no space in person's name): ", i + 1); scanf("%s%s", contacts[i].name, contacts[i].phone); } while (1) { printf("Please enter 1 and name to query, or 2 phone to query, or 0 to exit: "); scanf("%d", &choice); if (choice == 0) break; else if (choice == 1) { scanf("%s", query); for (i = 0; i < N; ++i) { if (strcmp(contacts[i].name, query) == 0) { printf("Found name [%s} and its phone is [%s].\n", query, contacts[i].phone); break; } } if (i == N) { printf("Not found.\n"); } } else if (choice == 2) { scanf("%s", query); for (i = 0; i < N; ++i) { if (strcmp(contacts[i].phone, query) == 0) { printf("Found phone [%s} and its name is [%s].\n", query, contacts[i].name); break; } } if (i == N) { printf("Not found.\n"); } } else { printf("Invalid choice [%d].\n", choice); } fflush(stdin); // clear inout buffer in case there are extra cahracters in the previous input } return 0; } // Output: Please enter the name and phone of person 1 (no space in person's name): ZhangSan 01065879876 Please enter the name and phone of person 2 (no space in person's name): LiSi 13888789900 Please enter the name and phone of person 3 (no space in person's name): WangWu 02123459876 Please enter 1 and name to query, or 2 phone to query, or 0 to exit: 1 ZhangSan Found name [ZhangSan} and its phone is [01065879876]. Please enter 1 and name to query, or 2 phone to query, or 0 to exit: 1 ZhaoLiu Not found. Please enter 1 and name to query, or 2 phone to query, or 0 to exit: 2 02123459876 Found phone [02123459876} and its name is [WangWu]. Please enter 1 and name to query, or 2 phone to query, or 0 to exit: 2 13899990000 Not found. Please enter 1 and name to query, or 2 phone to query, or 0 to exit: 3 Invalid choice [3]. Please enter 1 and name to query, or 2 phone to query, or 0 to exit: 0
采纳该答案 已采纳该答案 专家已采纳评论解决 1 无用打赏举报微信扫一扫
分享评论登录 后可回复...
报告相同问题?
提交
相关推荐 更多相似问题
- 2021-05-19 19:06回答 1 已采纳 typedef struct person{ int num; char name[20]; }; int main() { person ps[5]; person p; int i,
- 回答 2 已采纳 结构体和共用体参考下这个 结构体和共用体_RSH0522的博客-CSDN博客_结构体和共用体 结构体引入:在有些时候需要将不同类型的数据组成
- 2021-11-28 20:34回答 2 已采纳 供参考: #include<stdio.h> #define NUM 100 typedef struct student{ int num; char
- 2021-05-21 01:05贾震东的博客 C语言结构体类型的定义模板大概为:struct 类型名{成员表列} 变量;在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate datatype)的一类。结构体可以被声明为变量、指针或数组等,用以...
- 2021-05-22 16:28Hermione Tsang的博客 没有万能的编程技术没有只产生正确的结果的编程语言不是每个项目的编程都是从零开始的—-《Object-Oriented Programming With ANSI-C》一、C语言结构体1、结构体是什么(1)用途结构体是一种可以包含一个或者多个不同...
- 2020-12-09 14:55撼沧的博客 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate datatype)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的...
- 2021-09-10 13:05回答 2 已采纳 同学你好,可以参考我以往的答案,同样的题目:初学者,实在不会,各位大lao这个该怎么做啊-编程语言-CSDN问答 #include <stdio.h> #define N 8//8个学
- 2019-09-26 20:58回答 3 已采纳 可以不初始化,不初始化输出的就是随机值,即申请这段内存时存储的值。 如果你学过c或者c++就会知道变量不赋初值会带来很严重的问题或者bug。 很多条条框框的东西存在即是为了不让你费时间去思考不这样
- 2021-10-29 11:43回答 2 已采纳 指针参数是不能修改指针地址的。这和形参不能修改传入变量是一个意思将create的参数改为指针的指针,或者将传入参数作为返回值比如 struct List *create(struct List *
- 2021-01-01 05:31c语言结构体偏移 示例1 我们先来定义一下需求: 已知结构体类型定义如下: struct node_t{ char a; int b; int c; }; 且结构体1Byte对齐 #pragma pack(1) 求: 结构体struct node_t中成员变量c的偏移。 注:...
- 2021-05-20 14:17weixin_39661780的博客 C语言:结构体的编程问题(很简单)答案:2信息版本:手机版解决时间 2020-07-25 02:18已解决2020-07-24 02:27先定义一个结构体Student,它包含四个成员:学号(number)、姓名(name)、电话(telphone)、地址(address),...
- 2020-11-11 17:36南方有大雪的博客 结构体,是C语言学习过程中非常重要的一个部分,特别是在后面学习数据结构的过程中。 首先,结构体,简而言之,就是创建一个模块,这个模块里面包含着需要使用的各种数据类型,将它封装成一个函数类型但又不是一个...
- 2020-12-12 23:29回答 4 已采纳 回答1:有没有更优雅的方式呢? 不知道怎么算优雅? 但是可以换一种写法,一般都是这样写的吧 typedef node_ node; struct node_{ node* next;
- 2022-04-25 16:05回答 1 已采纳 结构体p中的s加加
- 2021-05-19 18:37回答 1 已采纳 #include <stdio.h> typedef struct student{ int num; char name[20]; int score[3]; float a
- 2021-02-17 22:03Peter盼的博客 【推荐阅读】C语言指针-从底层原理到花式技巧,用图文和代码帮你讲解透彻嵌入式工程师常用的宏定义C语言实现面向对象的原理在 C 语言中,结构体(struct)是一个或多个变量的集合,这些变量...
- 2021-12-02 13:25人间有清欢的博客 C语言 实验十 结构体 一、实验目的 1.掌握结构类型变量与数组的定义和使用。 2.掌握使用结构指针和结构变量名使用结构成员的方法。 3.初步掌握结构指针作函数参数的编程方法。 二、实验学时 4 学时 三、实验内容 ...
- 2021-07-17 10:09W.Y的博客 本次让我们来一起学习一下C语言中我们该如何将结构体内存对齐呢? 什么是结构体? struct A{ //struct是关键字, A是结构体标志 int a; //a,b是结构体成员列表 char b; }s1; //s1是结构体变量 在这里要注意三点:...
- 2021-05-19 11:36威廉穆斯利的博客 C语言sizeof求结构体数组长度C语言sizeof求结构体数组长度#include typedef struct ss{char a;//偏移量为0,大小为1,0能被1整除,=1short b;//偏移量为1,大小为2,1不能被2整除,=1+1+2=4int c;//偏移量为4,大小为4...
- 2021-05-20 19:21weixin_39902107的博客 C语言 结构体更多C/C++资料下载,C/C++学习乐园:747821062C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的...更多C/C++资料下载,C/C++学习乐园:747821062定义结构体为了定义结构...
- 没有解决我的问题, 去提问