尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

实验任务6

实验任务6
📅 发布时间:2026/7/30 23:53:14

实验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

相关新闻

  • Ubuntu系统里面安装vscode
  • 2026年6月最新帝舵中国官方售后电话地址服务热线客服网点 - 资讯快报
  • 2026淘宝流量转化导师客观测评榜单|5大主流主体选型对比指南 - 品牌2026推荐

最新新闻

  • 4000亿智慧高速大考:一条路500公里,AI算力怎么铺?
  • WinBtrfs实战指南:Windows平台Btrfs文件系统完全手册
  • 从零开始学微服务:NetCoreMicroservicesSample用户服务开发教程
  • 深度解析Windows音频优化:Equalizer APO专业配置终极指南
  • react-native-music-control自定义通知样式:打造高颜值媒体控制体验
  • LVS(Linux virual server)项目知识总结

日新闻

  • 终极TeamSpeak3音乐机器人搭建指南:5分钟实现语音聊天室音频播放
  • 广州海珠区内搬家攻略,平价靠谱搬家服务商推荐,专业打包搬运省心避坑全流程指南 - 厚道搬家
  • 大语言模型入门指南:从零到精通掌握AI核心技术的5大步骤

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号