高级语言程序设计第九次作业

news/2025/2/13 10:42:16/文章来源:https://www.cnblogs.com/hfdc/p/18578891

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C/

这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/2024C/homework/13311

学号:092300125

姓名:张天荣

14.17
3.

struct Month {char name[12];char nmee2[4];int day;int id;
};
#include <stdio.h>typedef struct Month {char name[12];char nmee2[4];int day;int id;
}Month;int main(void) {Month arr[12] = {{"January","jan",31,1},{"February","feb",28,2},{"March","mar",31,3},{"April","apr",30,4},{"May","may",31,5},{"June","jun",30,6},{"July","jul",31,7},{"August","aug",31,8},{"September","sep",30,9},{"October","oct",31,10},{"Novermber","nov",30,11},{"December","dec",31,12},};return 0;}
#include <stdio.h>typedef struct Month {char name[12];char nmee2[4];int day;int id;
}Month;int SumDay(Month* arr,int n) {int i = 0;int sum = 0;if (n < 1 && n>12)return -1;else {for (i = 0; i < n; i++) sum += arr[i].day;}return sum;
}int main(void) {Month arr[12] = {{"January","jan",31,1},{"February","feb",28,2},{"March","mar",31,3},{"April","apr",30,4},{"May","may",31,5},{"June","jun",30,6},{"July","jul",31,7},{"August","aug",31,8},{"September","sep",30,9},{"October","oct",31,10},{"Novermber","nov",30,11},{"December","dec",31,12},};int n = 2;printf("%d",SumDay(arr,n));return 0;}

10

typedef struct gas {float distance;float gals;float mpg;
}gas;gas a(gas x) {if (x.gals > 0)x.mpg = x.distance / x.gals;elsex.mpg = -1.0;return x;
}void b(gas* x) {if (x->gals > 0)x->mpg = x->distance / x->gals;elsex->mpg = -1.0;
}
#include <stdio.h>enum choices{no,yes,maybe};int main(void) {enum choices a;a = no;printf("%d ",a);a = yes;printf("%d ", a);a = maybe;printf("%d ", a);return 0;}

14.18
3.

#include <stdio.h>
#include <string.h>
#define MAXTITL 40
#define MAXAUTL 40
#define MAXBKS 100struct book
{char title[MAXTITL];char author[MAXAUTL];float value;
};char* s_gets(char* st, int n);
void sort_title(struct book* pb[], int n);
void sort_value(struct book* pb[], int n);int main(void)
{struct book library[MAXBKS];struct book* book[MAXBKS];int count = 0;int index;printf("Please enter the book title.\n");printf("Press [enter] at the start of a line to stop.\n");while (count < MAXBKS && s_gets(library[count].title, MAXTITL) && library[count].title[0] != '\0'){printf("Now enter the author.\n");s_gets(library[count].author, MAXAUTL);printf("Now enter the value.\n");scanf("%f", &library[count].value);book[count] = &library[count];count++;while (getchar() != '\n')continue;if (count < MAXBKS){printf("Enter the next title.\n");}}if (count > 0){printf("Here is the list of your books:\n");for (index = 0; index < count; index++){printf("%s by %s: $%.2f\n", library[index].title,library[index].author, library[index].value);}sort_title(book, count);printf("\nHere is the list of your books sorted by title letters:\n");for (index = 0; index < count; index++){printf("%s by %s: $%.2f\n", book[index]->title,book[index]->author, book[index]->value);}sort_value(book, count);printf("\nHere is the list of your books sorted by value(from low to high):\n");for (index = 0; index < count; index++){printf("%s by %s: $%.2f\n", book[index]->title,book[index]->author, book[index]->value);}}else{printf("No books? Too bad.\n");}return 0;
}void sort_title(struct book* pb[], int n)
{int i, j;struct book* temp;for (i = 0; i < n - 1; i++){for (j = i + 1; j < n; j++){if (strcmp(pb[j]->title, pb[i]->title) < 0){temp = pb[j];pb[j] = pb[i];pb[i] = temp;}}}return;
}void sort_value(struct book* pb[], int n)
{int i, j;struct book* temp;for (i = 0; i < n - 1; i++){for (j = i + 1; j < n; j++){if (pb[j]->value < pb[i]->value){temp = pb[j];pb[j] = pb[i];pb[i] = temp;}}}return;
}char* s_gets(char* st, int n)
{char* ret_val;char* find;ret_val = fgets(st, n, stdin);if (ret_val){find = strchr(st, '\n');if (find){*find = '\0';}else{while (getchar() != '\n')continue;}}return ret_val;
}


4.
a.


#include <stdio.h>
#include <string.h>
#define N 15
#define LEN 30struct names
{char fname[N];char mname[N];char lname[N];
};struct messages
{char ins_num[LEN];struct names name;
};char *s_gets(char *st, int n);
void show(const struct messages pt[], int n);int main(void)
{int count = 0;struct messages m[5];printf("Please enter the insurance number:\n");printf("Press [enter] at the start of a line to stop.\n");while (count < 5 && s_gets(m[count].ins_num, LEN) && m[count].ins_num[0] != '\0'){printf("Now enter the former name.\n");s_gets(m[count].name.fname, N);printf("Now enter the middle name(Without, [enter] to the next).\n");s_gets(m[count].name.mname, N);printf("Now enter the last name.\n");s_gets(m[count].name.lname, N);if (count++ < 5){printf("Enter the next insurance number:\n");}}if (count > 0){show(m, count);}else{printf("No data!\n");}return 0;
}char *s_gets(char *st, int n)
{char *ret_val;char *find;ret_val = fgets(st, n, stdin);if (ret_val){find = strchr(st, '\n');if (find){*find = '\0';}else{while (getchar() != '\n')continue;}}return ret_val;
}void show(const struct messages pt[], int n)
{int i;printf("All numbers messages:\n");for (i = 0; i < n; i++){if (pt[i].name.mname[0] == '\0'){printf("%s, %s", pt[i].name.fname, pt[i].name.lname);printf(" -- %s\n", pt[i].ins_num);}else{printf("%s, %s %c.", pt[i].name.fname, pt[i].name.lname, pt[i].name.mname[0]);printf(" -- %s\n", pt[i].ins_num);}}return;
}

b.

#include <stdio.h>
#include <string.h>
#define N 15
#define LEN 30struct names
{char fname[N];char mname[N];char lname[N];
};struct messages
{char ins_num[LEN];struct names name;
};char *s_gets(char *st, int n);
void show_messages(const struct messages pt);int main(void)
{int i;int count = 0;struct messages m[5];printf("Please enter the insurance number:\n");printf("Press [enter] at the start of a line to stop.\n");while (count < 5 && s_gets(m[count].ins_num, LEN) && m[count].ins_num[0] != '\0'){printf("Now enter the former name:\n");s_gets(m[count].name.fname, N);printf("Now enter the middle name(Without, [enter] to the next):\n");s_gets(m[count].name.mname, N);printf("Now enter the last name:\n");s_gets(m[count].name.lname, N);if (count++ < 5){printf("Enter the next insurance number:\n");}}if (count > 0){printf("All numbers messages:\n");for (i = 0; i < count; i++){show_messages(m[i]);}}else{printf("No data!\n");}return 0;
}char *s_gets(char *st, int n)
{char *ret_val;char *find;ret_val = fgets(st, n, stdin);if (ret_val){find = strchr(st, '\n');if (find){*find = '\0';}else{while (getchar() != '\n')continue;}}return ret_val;
}void show_messages(const struct messages pt)
{if (pt.name.mname[0] == '\0'){printf("%s, %s", pt.name.fname, pt.name.lname);printf(" -- %s\n", pt.ins_num);}else{printf("%s, %s %c.", pt.name.fname, pt.name.lname, pt.name.mname[0]);printf(" -- %s\n", pt.ins_num);}return;
}


5.

#include <stdio.h>
#include <string.h>
#define LEN 15
#define CSIZE 4
#define SCORES 3struct name
{char fname[LEN];char lname[LEN];
};struct student
{struct name mes;float grade[SCORES];float aver;
};void set_students(struct student ar[], int n);
void find_averages(struct student ar[], int n);
void show_messages(const struct student ar[], int n);
void show_averages(const struct student ar[], int n);int main(void)
{struct student classes[CSIZE] = {{"Flip", "Snide"},{"Clare", "Voyans"},{"Bingo", "Higgs"},{"Fawn", "Hunter"},};set_students(classes, CSIZE);find_averages(classes, CSIZE);show_messages(classes, CSIZE);show_averages(classes, CSIZE);return 0;
}void set_students(struct student ar[], int n)
{int i, j;for (i = 0; i < n; i++){printf("Please enter three scores for %s %s:\n", ar[i].mes.fname, ar[i].mes.lname);for (j = 0; j < SCORES; j++){while (scanf("%f", &ar[i].grade[j]) != 1){while (getchar() != '\n')continue;printf("Please enter a number: ");}}}return;
}void find_averages(struct student ar[], int n)
{int i, j;float sum;for (i = 0; i < n; i++){for (j = 0, sum = 0.0f; j < SCORES; j++){sum += ar[i].grade[j];}ar[i].aver = sum / SCORES;}return;
}void show_messages(const struct student ar[], int n)
{int i, j;for (i = 0; i < n; i++){printf("%s %s's three scores: ", ar[i].mes.fname, ar[i].mes.lname);for (j = 0; j < SCORES; j++){printf("%g ", ar[i].grade[j]);}printf("\nAverage: %g\n", ar[i].aver);}return;
}void show_averages(const struct student ar[], int n)
{int i;float total;for (i = 0, total = 0.0f; i < n; i++){total += ar[i].aver;}printf("Class average: %g\n", total / n);return;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/844281.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux安装intel编译器2018

加压软件/public/download/parallel_studio_2018.tgz进入目录后用./install.sh开始安装 按回车 这个选择1,然后需要输入lic激活文件路径。 安装完成后添加PATH到环境变量中 1、如果是普通用户,在用户的.bashrc里面添加 2、如果是root用户,在/etc/profile文件的最后一行添加 …

AGC 069

D. Tree and Intervals 感觉这个题可做啊,真该先开这个题的/fn \(x_i\) 可以看作一端 \(\le i\),另一端 \(>i\) 的边数,进一步可以转化为:把 \(\le i\) 的点染成黑色,\(>i\) 的点染成白色,得到的总连通块数。 考虑判定怎样的“总连通块数”序列是可以被生成的。 一…

基于特征子空间的高维异常检测:一种高效且可解释的方法

本文将重点探讨一种替代传统单一检测器的方法:不是采用单一检测器分析数据集的所有特征,而是构建多个专注于特征子集(即子空间)的检测器系统。 在表格数据的异常检测实践中,我们的目标是识别数据中最为异常的记录,这种异常性可以相对于同一数据集中的其他记录衡量,也可以相…

【机器学习算法】XGBoost原理

一、基本内容基本内容:GBDT的基础上,在损失函数上加入树模型复杂度的正则项与GBDT一样,也是使用新的弱学习器拟合残差(当前模型负梯度,残差方向)GBDT损失函数\[Loss = \sum_{i=1}^{N}L(y_i, y_i^{t}) \] XGboost损失函数\[Loss = \sum_{i=1}^{S}L(y_i, y_i^{t}) + \sum_{…

《网络与系统攻防技术》实验七

1.实验内容及要求 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有 (1)简单应用SET工具建立冒名网站 (2)ettercap DNS spoof (3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。 二、实验过程 (一)简单应用SET工具建…

HCIP-04 交换高级技术

VLAN聚合通过配置Super-VLAN和Sub-VLAN,不同Sub-VLAN之间进行通信,需要Super-VLAN开启ARP代理。 VLAN聚合既避免了由于子网划分带来的网络地址规划复杂的问题,又能够实现通过VLAN隔离不同广播域的目的。 • MUX VLAN包括Principal VLAN和Subordinate VLAN,同时Subordinate …

基于Jenkins构建微服务发布平台-2

基于Jenkins构建微服务发布平台-2 续——基于Jenkins构建微服务发布平台-1 4 流水线自动发布微服务项目 4.4 Docker阿里云镜像加速失效解决方案 在所有节点上执行。# tee /etc/docker/daemon.json <<-EOF{ "registry-mirrors": [ "https://do.nar…

九种常见二维插值方法及双线性插值的理解

九种常见二维插值方法概述 在数据分析、计算机视觉和图形处理等领域,插值是一种重要的技术,用于估算在已知数据点之间的未知值。以下是几种常用的插值方法的详细介绍。 1. 双线性插值 (Bilinear Interpolation) 双线性插值是一种在二维直线网格上进行插值的技术。它首先在一个…

c# is 和 as 浅看重制版

前言 当年写的比较差:https://www.cnblogs.com/aoximin/p/12965408.html,所以特来重新写一遍。 正文 首先为什么会出现is 和 as 呢? 因为是为了有需要检验的地方,如果直接使用显示转换的话,那么可能直接报错了。 namespace ConsoleApp4 {class Program{static void Main(s…

20222422 2024-2025-1 《网络与系统攻防技术》实验五实验报告

一、实验内容 (1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息: DNS注册人及联系方式 该域名对应IP地址 IP地址注册人及联系方式 IP地址所在国家、城市和具体地理位置 PS:使用whois、dig、nslookup、traceroute、以及各类在线和离线…

安装扫描仪DS-410出现安装Desktop Experience提示

安装Epson Scan所需的某些模块没有安装。安装Desktop Experience之后安装Epson Scan。在Windows server 2012上安装扫描仪出现该错误,该错误为server系统需要桌面支持,默认Windows server 该功能是不安装的需要用户按需求安装。 安装windows server 2012 R2 安装桌面体验勾选…

2019-8-29-02-JS-DOM

图片轮播是Web开发中最常见的组件之一,这是一篇用原生JavaScript实现简单图片轮播的教程。 要实现图片轮播,首先我们要将图片轮播拆分为图片容器、图片、上一页按钮、下一页按钮、底部点选容器、底部点选按钮。 下面我们用HTML代码表示。 ... <div id="page">…