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

  • 实验项目名称:实验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.使用数组能够存储大量数据,方便查找数组元素

posted @ 2024-05-08 22:21  纯情美式  阅读(9)  评论(0编辑  收藏  举报