c语言程序实验————实验报告十三

news/2024/9/24 18:06:02

c语言程序实验————实验报告十三

  • 实验项目名称: 实验报告十三 结构体运用程序设计
  • 实验项目类型:验证性
  • 实验日期:2024 年 5 月 30 日

一、实验目的

1.掌握结构体类型变量的定义和使用
2.掌握结构体类型数组的概念和应用
3.掌握结构体类型指针的概念和应用
4.掌握共用体的概念和使用

二、实验硬、软件环境

Windows计算机、Dev c 6.0

实验内容:

1.编写一个C程序,定义一个有关日期的结构体类型变量(包括年、月、日),要求从
键盘为该变量中的各成员输入数据,然后再将输入的日期显示输出。
2.有4名学生,每个学生包括学号、姓名、成绩、编写一个C程序,要求按学生成绩
由高到低进行排序。
3.对候选人得票的统计程序,每次输入一个得票候选人的名字,最后输出每个候选人的
得票结果。

三、实验步骤:

项目一

解题思路
输入时间的结构struct dat,输入成员int month;int day;int year;输入赋值dat1={6,6,2024};printf输出月,日,年,dat1.month,dat1.day,dat1.year。
核心代码
#include<stdio.h>
int main()
{
struct dat
{
int month;
int day;
int year;
} dat1={6,6,2024};
printf("月:%d,日:%d,年:%d\n",dat1.month,dat1.day,dat1.year);
printf("31韩翔-项目1");
}
实验截图

项目二

解题思路
输入学生体结构struct student,输入成员 int num; 学号 char name[20]; 姓名 float score; 成绩,输入主函数,定义结构体变量且赋值struct student stu[5]={{10010,"Tom",78},{10011,"Jon",98.5},{10012,"Lisi",100},{10013,"zhangsan",99},{10014,"wangwu",10}};struct student t;定义整型变量 int i,j,k; for函数定义(i=0;i<4;i++)外层循环,把i的值赋给k,k=i;for函数定义(j=i+1;j<5;j++)//内层f循环, if函数定义(stu[j].score>stu[k].score)挑出分数高的,k=j;把相应的j赋值给k, t=stu[k]; stu[k]=stu[i];stu[i]=t;把成绩高的放到前面,for函数定义(i=0;i<5;i++)循环输出5个人的成绩, printf输出结果stu[i].num,stu[i].name,stu[i].score。
核心代码
#include<stdio.h>
struct student
{
int num;
char name[20];
float score;
} ;
int main()
{
struct student stu[5]={{10010,"Tom",78},{10011,"Jon",98.5},{10012,"Lisi",100},{10014,"wangwu",10}};
struct student t;
int i,j,k;
printf("成绩由大到小排序:\n");
for(i=0;i<3;i++)
{
k=i;
for(j=i+1;j<4;j++)
{
if(stu[j].score>stu[k].score)
{
k=j;
}
}
t=stu[k];
stu[k]=stu[i];
stu[i]=t;
}
for(i=0;i<4;i++)
{
printf("%d,%10s,%6.2f分\n",stu[i].num,stu[i].name,stu[i].score);
}
printf("31韩翔-项目2");
}
实验截图

项目三

解题思路
输入头函数#include<string.h>,输入struct person结构体,输入成员char name[20];int count;输入赋值leader[3]={"li",0,"zhang",0,"fun",0};输入主函数int声明整型变量i,j;char声明数组leader_name[20];for函数定义(i=1;i<=10;i++)循环,scanf调用leader_name,for定义(j=0;j<3;j++)循环,if函数定义(strcmp(leader_name,leader[j].name)0),输入leader[j].count++;for定义(j=0;j<3;j++)循环,printf输出leader[j].name,leader[j].count)。
核心代码
#include<string.h>
#include<stdio.h>
struct person
{
char name[20];
int count;
}leader[3]={"li",0,"zhang",0,"fun",0};
int main()
{int i,j;
char leader_name[20];
for(i=1;i<=10;i++)
{scanf("%s",leader_name);
for(j=0;j<3;j++)
if(strcmp(leader_name,leader[j].name)
0)
leader[j].count++;
}
printf("\n");
for(j=0;j<3;j++)
printf("%5s:%d\n",leader[j].name,leader[j].count);
printf("31韩翔-项目3");
}
实验截图

实验结果及分析

在项目1中,少输入了一个花括号 } 导致运行不了,后改正
在项目2中,scanf处没加分号,后改正
在项目3中,printf处少加一个%,后改正

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

AWX+gitlab

目录AWX+gitlab1. Awx配置1.1 添加机构1.2 添加团队1.3 添加主机1.4 测试主机连通性2. 对接gitlab2.1 添加凭证2.2 添加项目2.3 上传playbook2.3.1 克隆仓库2.3.2 创建分支2.3.3 编写playbook并上传2.3.4 上传ansible.cfg(可选)2.3.5 创建作业模板2.4 测试 AWX+gitlab 我们可…

硬件开发笔记(二十一):外部搜索不到的元器件封装可尝试使用AD21软件的“ManufacturerPart Search”功能

前言这是一个AD的一个强大的新功能,能招到元器件的原理图、3D模型还有价格厂家,但是不一定都有,有了也不一定有其3D模型。ManufacturerPart Search在设计工具中选择即用型元件直接搜索,搜索到需要使用的元器件。在Altium Designer中,直接选中设备元件。无需使用第三方服务…

Unity 编辑器中获取选中的文件夹、文件路径

编辑器中获取选中的文件夹、文件路径 using UnityEditor; using UnityEngine; using Object = UnityEngine.Object;public class MyEditorScript {[MenuItem("Assets/PrintSelectedFolderPath")]static void PrintSelectedFolderPath(){// 第一种方式// 只能访问选中…

springcloud 不加载 bootstrap.yaml 问题

背景: 在 bootstrap.yaml 配置 nacos。但是怎么样都注册不上, 然后发现是没有加载 bootstrap.yaml 导致的。 最初以为是 springcloud 版本问题,折腾了1个小时才发现是模块的父工程里面配置的插件 spring-boot-maven-plugin 导致的。 具体如下图:

ch11 特征选择与稀疏学习

Ch11 特征选择子集选择与评价 缓解维度灾难的另一种重要方法是进行特征筛选,同时它也能降低学习任务的难度,只留下关键特征。 对当前学习任务有用的属性称为“相关特征”,而对当前学习任务没有用的属性称为“无关特征”,包含信息能被其他特征表示的属性称为“冗余特征”。 …

深度学习--seqt2seq RNN 英语翻译法语--86

目录1. 结构2. 代码解读 1. 结构我画的:2. 代码解读 导包 import nltk import numpy as np import re import shutil import tensorflow as tf import os import unicodedatafrom nltk.translate.bleu_score import sentence_bleu, SmoothingFunction数据集的预处理 def clean…

# 机器学习day05

机器学习第五天……张量元素类型转换data.type(torch.DoubleTensor)data = torch.full([2, 3], 10)print(data.dtype)# 将 data 元素类型转换为 float64 类型 data = data.type(torch.DoubleTensor)print(data.dtype)# 转换为其他类型 # data = data.type(torch.ShortTensor)# …

Kali 安装并配置 Nessus

Kali 安装并配置 Nessus 安装 Nessus创建nessus文件夹sudo mkdir /opt/nessus下载 Nessus ( https://www.tenable.com/downloads/nessus?loginAttempted=true ),并上传至 /opt/nessus 文件夹在 /opt/nessus 路径下,使用命令安装 Nessusdpkg -i Nessus-10.7.4-debian6_amd64.…