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

实验任务6

实验4

点击查看代码
#include <stdio.h>
#define N 10typedef struct {char isbn[25];char name[50];char author[30];double sale_price;int sale_count;
} BOOK;void output(BOOK x[], int n);
void sort(BOOK x[], int n);
double sales_amount(BOOK x[], int n);int main() {BOOK b[N] = {{"978-7-5327-4200-5", "门廊之影", "罗纳德", 45, 13},{"978-7-100-12042-7", "自由之地:人类进化史", "云图里", 49, 30},{"978-7-5404-8844-5", "陌生人", "弗里曼特尔", 68, 27},{"978-7-5442-7335-9", "生命的真相", "伊恩", 44.9, 10},{"978-7-5133-3175-0", "左耳的秘密", "艾拉", 22.8, 42},{"978-7-5404-9126-0", "我们的世界", "加西亚", 118, 23},{"978-7-5596-2150-4", "你今天的样子", "德里克·汤普森", 118, 42},{"978-7-111-60809-9", "天外的光:照亮进步的道路", "威廉", 59, 0},{"978-7-220-14356-1", "无尽的边界:威廉·麦金莱传", "戴维·麦卡洛", 37.5, 53},{"978-7-115-46688-4", "源泉", "安·兰德", 84, 59}};printf("图书销量排序(按销售金额): \n");sort(b, N);output(b, N);printf("\n图书销售总额: %.2f\n", sales_amount(b, N));return 0;
}void output(BOOK x[], int n) {int i;printf("%-22s%-30s%-20s%10s%10s\n", "图书编号", "书名", "作者", "售价", "销售册数");for (i = 0; i < n; i++) {printf("%-22s%-30s%-20s%10.1f%10d\n", x[i].isbn, x[i].name, x[i].author, x[i].sale_price, x[i].sale_count);}
}void sort(BOOK x[], int n) {int i, j;BOOK temp;for (i = 0; i < n - 1; i++) {for (j = 0; j < n - 1 - i; j++) {if (x[j].sale_price * x[j].sale_count < x[j + 1].sale_price * x[j + 1].sale_count) {temp = x[j];x[j] = x[j + 1];x[j + 1] = temp;}}}
}double sales_amount(BOOK x[], int n) {int i;double sum = 0;for (i = 0; i < n; i++) {sum += x[i].sale_price * x[i].sale_count;}return sum;
}

屏幕截图 2026-06-16 221807
实验5

点击查看代码
#include <stdio.h>typedef struct {int year;int month;int day;
} Date;void input(Date *pD);
int day_of_year(Date d);
int compare_dates(Date d1, Date d2);void test1() {Date d;int i;printf("测试1:输入日期,打印输出这是一年中第多少天\n");printf("输入日期:(以形如2025-12-12这样的形式输入)\n");for (i = 0; i < 3; i++) {input(&d);printf("%d-%02d-%02d是这一年中第%d天\n", d.year, d.month, d.day, day_of_year(d));}
}void test2() {Date Alice_birth, Bob_birth;int i;int ans;printf("\n测试2:两个人年龄大小关系\n");printf("输入Alice和Bob的出生日期:(以形如2025-12-12这样的形式输入)\n");for (i = 0; i < 3; i++) {input(&Alice_birth);input(&Bob_birth);ans = compare_dates(Alice_birth, Bob_birth);if (ans == 0)printf("Alice和Bob一样大\n\n");else if (ans == -1)printf("Alice比Bob大\n\n");elseprintf("Alice比Bob小\n\n");}
}int main() {printf("测试1:输入日期,打印输出这是一年中第多少天\n");test1();printf("\n测试2:两个人年龄大小关系\n");test2();return 0;
}void input(Date *pD) {scanf("%d-%d-%d", &pD->year, &pD->month, &pD->day);
}int day_of_year(Date d) {int months[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int days = 0, i;if ((d.year % 4 == 0 && d.year % 100 != 0) || (d.year % 400 == 0)) {months[2] = 29;}for (i = 1; i < d.month; i++) {days += months[i];}days += d.day;return days;
}int compare_dates(Date d1, Date d2) {if (d1.year < d2.year) return -1;if (d1.year > d2.year) return 1;if (d1.month < d2.month) return -1;if (d1.month > d2.month) return 1;if (d1.day < d2.day) return -1;if (d1.day > d2.day) return 1;return 0;
}

屏幕截图 2026-06-16 222347
实验任务6

点击查看代码
#include <stdio.h>
#include <string.h>enum Role {admin, student, teacher};typedef struct {char userid[20];char password[20];enum Role role;
} Account;void output(Account x[], int n);int main() {Account x[] = {{"A1001", "123456", student},{"A1002", "x1as2cdf", student},{"A1003", "yz112121", student},{"A1004", "12ab1231", teacher},{"C11551", "abp12314", teacher},{"C13353", "9k1afg12", teacher}};int n;n = sizeof(x)/sizeof(Account);output(x, n);return 0;
}void output(Account x[], int n) {int i, j;char *role_str[] = {"admin", "student", "teacher"};for (i = 0; i < n; i++) {printf("%-10s", x[i].userid);for (j = 0; x[i].password[j] != '\0'; j++) {printf("*");}printf("%20s\n", role_str[x[i].role]);}
}

屏幕截图 2026-06-16 222603
实验任务7

点击查看代码
#include <stdio.h>
#include <string.h>typedef struct {char name[20];char phone[15];int flag;
} Contact;void set_vip_contact(Contact x[], int n, char name[]);
void display(Contact x[], int n);
void output(Contact x[], int n);#define N 10int main() {Contact list[N] = {{"刘一", "15510846004", 0},{"陈二", "18038747351", 0},{"张三", "18851929332", 0},{"李四", "18632387924", 0},{"王五", "15873329197", 0},{"赵六", "18669666953", 0},{"吴七", "15974032768", 0},{"郑八", "15077704045", 0},{"钱九", "18607320508", 0}};int vip_cnt, i;char name[20];printf("请设置的通讯录数量:\n");output(list, N);printf("\n输入要设置的紧急联系人个数:");scanf("%d", &vip_cnt);printf("输入%d个紧急联系人姓名:", vip_cnt);for (i = 0; i < vip_cnt; i++) {scanf("%s", name);set_vip_contact(list, N, name);}printf("\n设置后的通讯录(按姓名字典序升序并将紧急联系人最先显示)\n");display(list, N);return 0;
}void set_vip_contact(Contact x[], int n, char name[]) {int i;for (i = 0; i < n; i++) {if (strcmp(x[i].name, name) == 0) {x[i].flag = 1;}}
}void display(Contact x[], int n) {int i, j;Contact temp;for (i = 0; i < n - 1; i++) {for (j = 0; j < n - 1 - i; j++) {if (x[j].flag < x[j + 1].flag) {temp = x[j];x[j] = x[j + 1];x[j + 1] = temp;}else if (x[j].flag == x[j + 1].flag && strcmp(x[j].name, x[j + 1].name) > 0) {temp = x[j];x[j] = x[j + 1];x[j + 1] = temp;}}}output(x, n);
}void output(Contact x[], int n) {int i;for (i = 0; i < n; i++) {if (x[i].flag)printf("%-10s%-15s", x[i].name, x[i].phone);elseprintf("%-10s%-15s", x[i].name, x[i].phone);if (x[i].flag)printf("vip\n");elseprintf("\n");}
}

屏幕截图 2026-06-16 223003

http://www.jsqmd.com/news/1026071/

相关文章:

  • 收藏不亏!2026最新AI大模型应用开发学习路线,小白/程序员转行高薪必备
  • 2026 温州汽车音响改装门店品牌测评盘点,本土十年老店无损改装方案优势梳理 - 资讯快报
  • 晋中漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • Ubuntu系统里面安装vscode
  • 嵌入式网络设备实战:Linux流量整形与JFFS2闪存文件系统部署
  • 二手手机水太深?这份靠谱的二手平台推荐,帮你避坑 - 资讯快报
  • 生产级多维聚合:金融场景下的可落地数据操作指南
  • Visual Studio 快捷键设计哲学与高效开发实践
  • C# NetworkStream 原理与高可靠网络编程实战
  • 2026流量转化导师中立测评榜单:企业全域获客选型干货指南 - 品牌2026推荐
  • 2026淘宝流量转化导师客观测评榜单|5大主流主体选型对比指南 - 品牌2026推荐
  • 2026年6月最新帝舵中国官方售后电话地址服务热线客服网点 - 资讯快报
  • 无糖茶饮料怎么选?王老吉原味0糖0卡植物本味更清爽 - 资讯快报
  • RoboTwin:5分钟掌握双臂机器人数字孪生平台终极指南
  • Overleaf到arXiv保姆级避坑指南:搞定.bbl文件与宏包缺失,一次上传成功
  • Python自动化办公:用docx库生成完美格式Word表格的保姆级教程
  • CARLA快速启动包:解决Ubuntu+GPU环境安装失败的核心方案
  • 数据库连接必须关闭吗?揭秘不释放连接的四重系统代价
  • 数独求解的三大技术路径:回溯、机器学习与量子计算实测对比
  • YSR态塞曼分裂抑制现象的量子特性与实验观测
  • S32K LINFlexD模块DMA配置与标识符过滤器实战指南
  • 2026年6月最新爱彼中国官方售后电话地址服务热线客服网点 - 资讯快报
  • 5个关键突破:让QuantStats成为你的量化投资决策引擎
  • 2026论文ai率过高怎么办?实测主流5款降ai率工具盘点 - 资讯快报
  • 2026年6月论文辅导机构口碑实测榜单:师资力量、学术成果与避坑全测评 - 刚达R
  • 2026京东流量转化导师客观测评榜单|商家全域转化选型指南 - 品牌2026推荐
  • 2026年6月最新宝珀中国官方售后电话地址及客户服务网点查询 - 资讯快报
  • ASP.NET网站IIS部署核心三关:扩展映射、通配符路由与权限配置
  • USDPAA LPM IPFwd:基于DPAA硬件加速的高性能IPv4转发实现
  • 2026年论文辅导中心权威测评:品牌口碑、师资力量与学术成果全维度对比 - 刚达R