当前位置: 首页 > news >正文

如何使用wordpress搭建网站广告咨询

如何使用wordpress搭建网站,广告咨询,呼和浩特电子商务网站建设,北京seo人员《C语言》结构体和联合体练习题–2 11. 嵌套联合体和结构体 题目描述: 编写一个C程序,定义一个结构体Employee,包含成员id(整数)、name(字符串)和一个联合体Contact,该联合体包含phone(字符串)和email(字符串)。输入一个员工的信息,包括联系方式(电话或邮箱),…

《C语言》结构体和联合体练习题–2

11. 嵌套联合体和结构体

题目描述:
编写一个C程序,定义一个结构体Employee,包含成员id(整数)、name(字符串)和一个联合体Contact,该联合体包含phone(字符串)和email(字符串)。输入一个员工的信息,包括联系方式(电话或邮箱),并输出。

解题思路:
定义结构体Employee,其中嵌套了一个联合体Contact。在主函数中,声明一个Employee变量,读取员工的ID、姓名和联系方式。由于联合体只能存储一个联系信息,用户需要选择是输入电话还是邮箱。最后,输出员工的信息。

详细代码:

#include <stdio.h>
#include <string.h>// 定义联合体Contact
union Contact {char phone[15];char email[50];
};// 定义结构体Employee,包含联合体Contact
struct Employee {int id;char name[50];union Contact contact;char contactType; // 'p'表示电话,'e'表示邮箱
};int main() {struct Employee emp;// 输入员工IDprintf("请输入员工ID: ");scanf("%d", &emp.id);getchar(); // 清除输入缓冲区的换行符// 输入员工姓名printf("请输入员工姓名: ");fgets(emp.name, sizeof(emp.name), stdin);// 去除换行符int i = 0;while(emp.name[i] != '\0') {if(emp.name[i] == '\n') {emp.name[i] = '\0';break;}i++;}// 输入联系方式类型printf("请输入联系方式类型(p-电话, e-邮箱): ");scanf(" %c", &emp.contactType);getchar(); // 清除输入缓冲区的换行符// 根据类型输入联系方式if(emp.contactType == 'p') {printf("请输入电话号码: ");fgets(emp.contact.phone, sizeof(emp.contact.phone), stdin);// 去除换行符int j = 0;while(emp.contact.phone[j] != '\0') {if(emp.contact.phone[j] == '\n') {emp.contact.phone[j] = '\0';break;}j++;}}else if(emp.contactType == 'e') {printf("请输入邮箱地址: ");fgets(emp.contact.email, sizeof(emp.contact.email), stdin);// 去除换行符int j = 0;while(emp.contact.email[j] != '\0') {if(emp.contact.email[j] == '\n') {emp.contact.email[j] = '\0';break;}j++;}}else {printf("无效的联系方式类型。\n");return 1;}// 输出员工信息printf("\n--- 员工信息 ---\n");printf("ID: %d\n", emp.id);printf("姓名: %s\n", emp.name);if(emp.contactType == 'p') {printf("电话号码: %s\n", emp.contact.phone);}else {printf("邮箱地址: %s\n", emp.contact.email);}return 0;
}

代码注释:

  • union Contact:定义一个联合体Contact,包含phoneemail两个字符串成员。
  • struct Employee:定义一个结构体Employee,包含idnamecontact(联合体)和contactType(字符,表示联系方式类型)。
  • getchar();:在读取字符或字符串后,清除输入缓冲区的换行符,避免影响后续的fgets读取。
  • 根据contactType,选择输入电话或邮箱,并存储到联合体的相应成员中。
  • 最后,输出员工的所有信息,包括根据类型选择输出的联系方式。

12. 联合体数组

题目描述:
编写一个C程序,定义一个联合体Data,包含成员i(整数)、f(浮点数)和str(字符串)。创建一个包含5个Data类型的数组,输入每个元素的类型和相应的值,最后输出所有数组元素的值。

解题思路:
定义联合体Data,包含ifstr三个成员。在主函数中声明一个包含5个Data的数组。对于每个数组元素,读取其类型标识(ifstr),然后根据类型输入相应的值。最后,遍历数组并根据类型标识输出存储的值。

详细代码:

#include <stdio.h>
#include <string.h>// 定义联合体Data
union Data {int i;float f;char str[20];
};// 定义结构体用于存储Data和类型标识
struct DataWithType {union Data data;char type; // 'i', 'f', 's'分别表示整数、浮点数和字符串
};int main() {struct DataWithType array[5];// 输入数组元素for(int idx = 0; idx < 5; idx++) {printf("请输入第 %d 个元素的类型(i-整数, f-浮点数, s-字符串): ", idx + 1);scanf(" %c", &array[idx].type);getchar(); // 清除输入缓冲区的换行符if(array[idx].type == 'i') {printf("请输入整数值: ");scanf("%d"
http://www.dtcms.com/a/549246.html

相关文章:

  • 网站建设那个好北京大兴专业网站建设公司
  • 基于 GEE 的融合 MODIS 地表反射率、MCD12Q1 土地覆盖与 TERRACLIMATE 气候数据的研究区净初级生产力(NPP)计算方法研究
  • markdown-it
  • vector 的扩容机制
  • part1~2 神经网络基础
  • SQL注入过滤绕过fuzz字典
  • CH32 WCH-LINK -Error: Failed to Open WCH-Link.
  • 构建AI智能体:七十九、从SVD的理论到LoRA的实践:大模型低秩微调的内在逻辑
  • Blackwell GPU提供LLVM和MLIR支持的相关工作 报告
  • 宁波网站开发建设网上做娱乐广告的网站
  • 浙江制造品牌建设网站做微信网站公司名称
  • Babylon.js中ArcRotateCamera.interpolateTo 方法使用备忘
  • 【OD刷题笔记】- CPU算力分配
  • iOS 抓包工具有哪些,开发者的选型与实战指南
  • 测试过程涉及python自动化及其他相关面试问题汇总
  • 免费网站建设讯息全站加速 wordpress
  • 哪里网站建设公司比较好网站建设销售工作职责
  • 推荐一款免费的语音识别网站,上传音频即可
  • 笔记C++语言,太焦虑了
  • 分公司一般做网站吗音乐网站建设目标
  • Java 21 虚拟线程 vs 缓存线程池与固定线程池
  • 在线开发培训网站建设小型餐饮店面设计
  • ZYNQ USB按键读写操作详解:从裸机到Linux系统的完整实现
  • 如何在Windows桌面实现自由悬浮计时?
  • BEV环视感知算法从环境部署开始
  • 看上去高端的网站深圳培训学校
  • 狂飙与重构:机器人IPO浪潮背后的系统焦虑与感知进化
  • 21.静态NAT
  • 做头像的网站wordpress拖拽式
  • 【C++】位运算算法习题