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

实验6作业

实验6作业
📅 发布时间:2026/6/20 13:42:35

任务4

#include<stdio.h>
#define N 10typedef struct
{char isbn[20];char name[80];char author[80];double sales_price;int sales_count;
}Book;void output(Book x[],int n);
void sort(Book x[],int n);
double sales_amount(Book x[],int n);int main()
{Book x[N]={{"978-7-5327-6082-4", "门将之死", "罗纳德.伦", 42, 51},{"978-7-308-17047-5", "自由与爱之地:入以色列记", "云也退", 49 , 30},{"978-7-5404-9344-8", "伦敦人", "克莱格泰勒", 68, 27},{"978-7-5447-5246-6", "软件体的生命周期", "特德姜", 35, 90}, {"978-7-5722-5475-8", "芯片简史", "汪波", 74.9, 49},{"978-7-5133-5750-0", "主机战争", "布莱克.J.哈里斯", 128, 42},{"978-7-2011-4617-1", "世界尽头的咖啡馆", "约翰·史崔勒基", 22.5, 44},{"978-7-5133-5109-6", "你好外星人", "英国未来出版集团", 118, 42},{"978-7-1155-0509-5", "无穷的开始:世界进步的本源", "戴维·多伊奇", 37.5, 55},{"978-7-229-14156-1", "源泉", "安.兰德", 84, 59}};printf("图书销售排名(按销售册数):\n");sort(x,N);output(x,N);printf("\n图书销售总额:%.2f\n",sales_amount(x,N));return 0;                                        }void sort(Book x[],int n)
{int i,j;Book t;for(i=0;i<n;i++){for(j=0;j<n-1-i;j++){if(x[j].sales_count<x[j+1].sales_count){t=x[j];x[j]=x[j+1];x[j+1]=t;}}}}double sales_amount(Book x[],int n)
{double sum=0;int i;for(i=0;i<n;i++)sum+=x[i].sales_price*x[i].sales_count;return sum;
}void output(Book x[],int n)
{int i;printf("ISBN号              书名                       作者                售价                销售册数\n");for(i=0;i<n;i++)printf("%-20s%-27s%-20s%-20g%-20d\n",x[i].isbn,x[i].name,x[i].author,x[i].sales_price,x[i].sales_count);
}

  

image

 

任务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("输入日期:(以形如2025-12-19这样的形式输入)\n");for(i = 0; i < 3; ++i){input(&d);printf("%d-%02d-%02d是这一年中第%d天\n\n", d.year, d.month, d.day, day_of_year(d));}}void test2() 
{Date Alice_birth, Bob_birth;int i;int ans;printf("输入Alice和Bob出生日期:(以形如2025-12-19这样的形式输入)\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();}void input(Date *pd) 
{scanf("%d-%d-%d",&pd->year,&pd->month,&pd->day);}int day_of_year(Date d) 
{int days;switch(d.month){case 1:days=d.day;break;case 2:days=31+d.day;break;case 3:days=59+d.day;break;case 4:days=90+d.day;break;case 5:days=120+d.day;break;case 6:days=151+d.day;break;case 7:days=181+d.day;break;case 8:days=212+d.day;break;case 9:days=243+d.day;break;case 10:days=273+d.day;break;case 11:days=304+d.day;break;case 12:days=334+d.day;break;default:break;}if(d.year%4==0&&d.year%100!=0||d.year%400==0)if(d.month>2)days+=1;return days;}int compare_dates(Date d1, Date d2) 
{if(d1.year>d2.year)return 1;else if(d1.year<d2.year)return -1;else{if(d1.month>d2.month)return 1;else if(d1.month<d2.month)return -1;else{if(d1.day>d2.day)return 1;else if(d1.day<d2.day)return -1;elsereturn 0;}}}

  

image

 

 

任务6

#include <stdio.h>
#include <string.h>enum Role {admin, student, teacher};typedef struct 
{char username[20];  char password[20];  enum Role type;  } Account;void output(Account x[], int n);  int main() 
{Account x[] = {{"A1001", "123456", student},{"A1002", "123abcdef", student},{"A1009", "xyz12121", student}, {"X1009", "9213071x", admin},{"C11553", "129dfg32k", teacher},{"X3005", "921kfmg917", student}};int n;n = sizeof(x)/sizeof(Account);output(x, n);return 0;}void output(Account x[], int n) 
{int i,j;for(i=0;i<n;i++){for(j=0;j<strlen(x[i].password);j++)x[i].password[j]='*';printf("%-10s%-16s",x[i].username,x[i].password);switch(x[i].type){case 0:{printf("admin\n");break;}case 1:{printf("student\n");break;}case 2:{printf("teacher\n");break;}
default:break;}} }

 

image

 

任务7

#include <stdio.h>
#include <string.h>
#define N 10typedef struct 
{char name[20];      char phone[12];     int  vip; } Contact; void set_vip_contact(Contact x[], int n, char name[]);  
void output(Contact x[], int n);   
void display(Contact x[], int n);   int main() 
{Contact list[N] = {{"刘一", "15510846604", 0},{"陈二", "18038747351", 0},{"张三", "18853253914", 0},{"李四", "13230584477", 0},{"王五", "15547571923", 0},{"赵六", "18856659351", 0},{"周七", "17705843215", 0},{"孙八", "15552933732", 0},{"吴九", "18077702405", 0},{"郑十", "18820725036", 0}};int vip_cnt, i;char name[20];printf("显示原始通讯录信息: \n"); output(list, N);printf("\n输入要设置的紧急联系人个数: ");scanf("%d", &vip_cnt);printf("输入%d个紧急联系人姓名:\n", 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].vip=1;} }void display(Contact x[], int n) 
{int i,j;Contact t;for(i=0;i<n;i++)for(j=i+1;j<n;j++)if(strcmp(x[i].name,x[j].name)>0){t=x[i];x[i]=x[j];x[j]=t;}for(i=0;i<n;i++){if(x[i].vip==1){printf("%-10s%-15s", x[i].name, x[i].phone);printf("*\n");}}for(i=0;i<n;i++){if(x[i].vip==0)printf("%-10s%-15s\n", x[i].name, x[i].phone);}}void output(Contact x[], int n) 
{int i;for(i = 0; i < n; ++i) {printf("%-10s%-15s", x[i].name, x[i].phone);if(x[i].vip)printf("%5s", "*");printf("\n");}}

  

image

 

相关新闻

  • Mintlify平台静态资产API跨租户内容注入漏洞分析
  • Experiment 6
  • 102302134陈蔡裔数据采集综合实践

最新新闻

  • 嵌入式GUI开发实战:emWin进度条、二维码与单选按钮控件详解
  • 工具失败时怎么办:重试、回滚、人工确认和风险提示
  • 从麦克斯韦方程到仿真工具:FDFD光子仿真工具箱构建指南
  • 在M系列Mac上运行Windows程序的5个简单步骤:Whisky完全指南
  • 终极指南:用RyzenAdj解锁你的AMD笔记本隐藏性能
  • 2026年宁波AI搜索优化公司全面权威横向评测与选型决策指南 - 品牌报告

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

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

服务项目

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

快速链接

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

联系方式

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

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