C语言程序设计实验报告(6)
2021-01-24 13:15
标签:bsp 运用 理解 printf 数组 能力 二维数组 随机数 项目 C语言程序设计实验报告(6) 标签:bsp 运用 理解 printf 数组 能力 二维数组 随机数 项目 原文地址:https://www.cnblogs.com/c-p-666/p/12864825.htmlC程序设计实验报告六
实验项目:7.3.1-1两两比较排序;7.3.1-2找最小排序;7.3.2打印杨辉三角形
姓名:蔡鹏
实验地点:家中
实验时间:2020.5.7
一、实验目的与要求:
1、巩固学生对一维数组这种数据结构的理解,增强其程序设计能力
2、巩固学生对二维数组这种数据结构的理解
二、实验内容
1、实验练习:7.3.1-1 冒泡排序法排序
1问题的简单描述:编写程序,利用随机函数产生10 个整数,并按升序排列输出。
2实验代码:
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
int sort1(int s[],int n)
{
int i,j;
int temp;
for(i=0;i9;i++)
{
for(j=0;j10-i;j++)
{
if(s[j]
1])
{
temp=s[j];
s[j]=s[j-1];
s[j-1]=temp;
}
}
}
}
main()
{
int i,a[10];
srand(time(NULL));/*给出随机种子*/
printf("随机产生10个整数:\n");
for(i=0;i10;i++)
{
a[i]=rand()%100;/*限制随机数是100以内*/
}
for(i=0;i10;i++)
printf("%d ",a[i]);
printf("\n");
sort1(a,i);
printf("排序后的结果:\n");
for(i=0;i10;i++)
printf("%d ",a[i]);
}3问题分析:刚开始不太会用数组,以及产生随机数不知道用啥函数。
2、实验练习:7.3.1-2 选择排序法排序
1问题的简单描述:编写程序,利用随机函数产生10 个整数,并按升序排列输出。
2实验代码:
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
int sort2(int s[],int n)
{
int i,j,k;
int temp;
for(i=0;i
3问题分析:这个程序是利用选择排序法对产生的随机数组进行排序,大致的做法和前面冒泡排序法的是差不多的,仅需修改一下排序函数即可。
三、实验练习:7.3.2-1 杨辉三角
1问题的简单描述:编写程序,从键盘输人行数,输出指定行数的杨辉三角形。
2实验代码:
#include"stdio.h"
main()
{
int a[50][50],i,j,n;
printf("请输入杨辉三角形的行数:");
scanf("%d",&n);
for(i=1;i)
{
a[i][i]=1;
a[i][1]=1;
}
for(i=3;i)
{
for(j=2;j1;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=1;i)
{
for(j=1;j)
printf("%5d",a[i][j]);
printf("\n");
}
printf("\n");
}
3问题分析:这题是一个二维数组的运用,一开始没搞清楚每个循环中每个语句的前后顺序,后面一直看着流程图不断地调整顺序才调好。
实验小结:本次实验主要用到了数组,在实验中对数组的运用还不是特别熟练,尤其再用到二维数组时做起来有点吃力,其次在实验中还运用了许多的函数,许多还是后来查找才知道用的,srand函数的运用,以及for语句的运用结合到一起,难度有了很大的提升,在学习数组的内容时还需要多多练习才能够更熟练的掌握。