c语言程序设计——实验报告七

news/2024/10/3 18:26:46
  • 实验项目名称:实验7数组的基本使用
  • 实验项目类型:验证性
  • 实验日期:2024年4月22日

一、实验目的

1.熟练掌握数组的定义格式和数组元素的表示方法
2.熟悉数组的初始化方法和赋值方法
3.掌握字符数组存放字符串的方法和字符串函数的使用
4.熟悉数组元素的操作,特别是输入与输出操作
5.掌握与数组有关的典型算法,比如排序算法、矩阵的处理、字符串的处理
6.进一步学习程序调试;

二、实验硬、软件环境

Windows计算机、Devc6.0

三、实验内容及步骤

实验内容:

编写程序:
(1)输入10个同学的成绩,求出平均成绩,并把低于平均成绩的分数显示出来。
(2)用冒泡法对10个同学的C语言成绩由高到低进行排序,并输出最高分和最低分
(3)将一个3*3的矩阵存入二维数组,找出其中的最大值,以及最大值对应的行下
标和列下标。
(4)将一个二维数组的行和列互换,存到另一个二维数组中。
(5)某班本学期有5门课程,分别输入某宿舍4名同学的各科成绩。输入全部成绩后,
统计输出该宿舍每个同学的总成绩。

实验步骤:

项目1

解题思路
先定义一个长度为10的整型数组,然后输入10个分数,再使用for循环来计算总分,接这用avg=sum/i来计算平均成绩,最后选出低于平均成绩的
核心代码

#include <stdio.h>
int main() 
{ int a[10],i,sum=0,avg;printf("请输入10个分数:\n"); for(i=0;i<10;i++)
{   scanf("%d",&a[i]);sum=sum+a[i];
}avg=sum/i;printf("平均成绩:%d\n",avg) ;for(i=0;i<10;i++)
{if(a[i]<avg)printf("低于平均分的成绩:%d\n",a[i]); 
}
}

结果截图

项目2

解题思路
先定义一个整型数组,输入同学的成绩,通过for循环来对输入同学的成绩进行排序,再最后选出最高分和最低分
核心代码

#include<stdio.h> 
#define N 10
int main()
{int i,math[N],t,j;printf("请输入多个同学的成绩:\n");for(i=0;i<N;i++)scanf("%d",&math[i]);for(j=0;j<N-1;j++)for(i=0;i<N-1-j;i++)if(math[i]<math[i+1]){t=math[i];math[i]=math[i+1];math[i+1]=t;}printf("多个同学的成绩排序为:\n");for(i=0;i<10;i++)printf("%3d",math[i]);printf("\n");printf("最高分为:%d\n",math[0]);printf("最低分为:%d\n",math[N-1]); 
}

结果截图

项目3

解题思路
先定义数组,i,j,max,I,J;通过for循环来计算,选出矩阵最大值赋给max,把行和列赋给I,J
核心代码

#include<stdio.h>
int main()
{int a[3][3],i,j,max,I,J;for(i=0;i<3;i++){for(j=0;j<3;j++){scanf("%d", &a[i][j]);}}max=a[0][0];for(int i=0;i<3;i++){for(int j=0;j<3;j++){if(a[i][j]>max){max=a[i][j];I=i;J=j;}}}printf("最大值:%d\n其行下标为:%d\n列下标为:%d\n",max,I,J);
}

结果截图

项目4

解题思路
先定义数组a和b,通过for循环来将数组a的行和列互换,在将数组a中的行赋给数组b的列,数组a的列赋给数组b的行
核心代码

#include<stdio.h>
int main()
{int a[2][3] = { {1,2,3},{1,2,3} };int b[3][2], i, j;for (i = 0; i <= 1; i++) {for (j = 0; j <= 2; j++) {printf( "%d\t",a[i][j] );b[j][i] = a[i][j];}printf("\n");}printf("\n");for (i = 0; i <= 2; i++) {for (j = 0; j <= 1; j++) {printf("%d\t", b[i][j]);}printf("\n");}
}

结果截图

项目5

解题思路
先定义整型数组和sum;然后通过for循环来计算4名同学的5科总成绩,最后通过printf来输出
核心代码

#include<stdio.h>
int main()
{int score[4][5], sum[4]={0};int i=0, j=0;for (i=0;i<4;i++){printf("请输入第%d位同学的5门成绩:\n",i+1);for (j=0;j<5;j++){scanf("%d", &score[i][j]);}}for(i=0;i<4;i++){for(j=0;j<5;j++){sum[i]=score[i][j]+sum[i];}}printf("四位同学的总分分别是:\n");for (i=0;i<4;i++)		printf("%d\n",sum[i]);}

结果截图

四、实验结果及分析

1.在项目1中,可以先定义一个长度为10的整型数组,使用for循环来计算总分,再用avg=sum/i来计算平均成绩,最后选出低于平均成绩的,最后用printf来输出
2.使用数组能够存储大量数据,方便查找数组元素

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

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

相关文章

[附源码]秦时明月6.2魔改版_搭建架设教程_附GM工具_安卓苹果

本教程仅限学习使用,禁止商用,一切后果与本人无关,此声明具有法律效应!!!! 教程是本人亲自搭建成功的,绝对是完整可运行的,踩过的坑都给你们填上了 一. 演示视频 https://githubs.xyz/boot?app=50二. 环境 联网环境: centos7.6 , 放开所有端口 单机环境: VM虚拟机…

Pycharm的Python脚本模板

# @Time : ${DATE} ${TIME} # @Author : HeJinYang # @Description:

Windows平台git clone文件路径太长报错

解决文件路径太长导致的报错问题问题描述 在Windows下拉取一些比较大的开源项目经常会提示文件路径太长(filename too long),然后死活都不成功 解决办法 1.配置git git config --system core.longpaths true2.修改文件C:\Program Files\Git\etc\gitconfig(需要以管理员身份…

GitHub two-factor authentication开启教程

GitHub two-factor authentication开启教程问题描述 最近登录GitHub个人页面动不动就有一个提示框”...... two-factor authentication will be required for your account starting Jan 4, 2024 ......“,点击去看了一下原来是GitHub对所有的用户登录都要开启双重身份认证,…

Windows程序读取不了中文路径问题

解决win32接口无法解析中文路径的问题问题描述 今天调试发现win32接口GetFileAttributesW居然不支持中文路径,于是寻找解决方案,找了半天,尝试用boost的fileystem库发现能用,而且boost能跨平台! 不支持中文 win32接口获取文件属性,当传入参数带有中文字符时,它获取的属性…

团队作业4——项目冲刺 第 2篇 Scrum 冲刺博客

这个作业属于哪个课程 软件工程这个作业要求在哪里 团队作业4——项目冲刺这个作业的目标 团队完成任务的分配,明确团队每个人在接下来七天敏捷冲刺的目标其他参考文献这个作业所属团队 SuperNewCode团队成员 张楠 曾琳备 黄铭涛 张小宇 周广1.每日举行站立时会议2.燃尽图3.每…

s7netplus二次应用

1. 安装这是个基于S7协议的开源协议2. 引用 using S7.Net;3. 创建PLC对象internal class s7net_lib{//idenfy basic link paramsprivate string plc_ip;private CpuType plc_type;private short plc_rack, plc_slot;public Plc my_plc;//constructor,含参构造函数 public s7ne…

MySQL-09.性能分析工具的使用

1.数据库服务器的优化步骤当遇到数据库调优问题时,思考的流程如下图。 整个流程划分成了观察(Show status)和行动(Action)两个部分。字母S的部分代表观察(会使用相应的分析工具),字母A代表的部分是行动(对应分析可以采取的行动)。上图,就是数据库调优的思路。如果发现执行SQ…