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

实验6作业

任务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

 

http://www.rkmt.cn/news/125090.html

相关文章:

  • Mintlify平台静态资产API跨租户内容注入漏洞分析
  • Experiment 6
  • 102302134陈蔡裔数据采集综合实践
  • A2A协议
  • C语言之成绩排序
  • 使用sharedPerences保存app配置文件
  • 分享文件:charles-proxy-4.6.3-win64.msi
  • 2025年12月中医馆,昆明中医,云南中医馆推荐:行业权威盘点与品质诊疗红榜发布 - 品牌鉴赏师
  • Android ALSA驱动进阶之获取周期帧数snd_pcm_lib_period_frames:用法实例(九十五) - 详解
  • 从研究问题到分析初稿:深度解析PaperXie AI科研工具中数据分析模块在学术写作场景下的辅助逻辑与技能实现路径
  • 详细介绍:Golang Cobra 教程:构建强大的CLI应用
  • 在 Windows 11 中,以管理员权限打开 CMD(命令提示符)的几种常用方法
  • 完整教程:Live2D形象展示与文本语音播报:打造生动交互体验的完整实现
  • SSM基于信息安全的无锡旅游服务系统5l83d(脚本+源码+数据库+调试部署+研发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
  • 【赵渝强老师】国产金仓数据库的数据库集群
  • 12.19 程序员修炼之道:从小工到专家 - GENGAR
  • 06.cloundflare的使用
  • 完整教程:Flutter 布局入门
  • CVE-2025-14910:Edimax BR-6208AC路由器路径遍历漏洞深度解析
  • 完整教程:CentOS快速安装DockerCE指南
  • 英语_阅读_a plan for cancer prevention_待读
  • 女装店铺数据分析系统:从数据预处理到智能推荐的全链路技术实现与深度解析
  • 第二阶段:Android音视频基础 - 教程
  • Day6 链表的基础操作I -卡码网C++基础课
  • 峰会收官传捷报!金当汉默斯创新实力获认可,一举拿下“重磅新品”“人气飙升”双项殊荣
  • 2.面向对象设计原则
  • 升级二进制kubernetes集群(大版本升级)
  • 手写数字识别:从零搭建神经网络 - 实践
  • 深耕二十载 赋能全领域|河南山特UPS电源领军品牌艾佩斯商贸 (1) - 朴素的承诺
  • 深耕二十载 电源护安全|河南艾佩斯打造全场景电源解决方案服务商 - 朴素的承诺