数组实验报告

C程序设计实验报告

实验项目:数组实验

姓名:陈英卉 实验地点:一教520 实验时间:2021年6月12日

一、实验目的与要求

1.掌握一维和多维数组的定义和数组元素的引用方法。
2.了解一维和多维数组初始化的方法。
3.学习一维和多维数组的基本方法。
4.掌握C语言提供的对字符串进行处理的基本函数库。
5.掌握字符数组的定义、初始化方法及其元素的引用方法。

二、实验内容

1、实验练习:实验7.3.1代码:

#include<stdlib.h>
#include<time.h>
void sortl(int s[],int n)
{ 
  int i,j,k;
  int temp;
  for(i=0;i<n-1;i++)
  for(j=9;j>=i+1;j--)
  if(s[j]<s[j-1])
  {
  	temp=s[j];
  	s[j]=s[j-1];
  	s[j-1]=temp;
   } 
}
int main()
{ int i,a[10],n=10;
  srand(time(NULL));
  printf("随机产生10个整数\n");
  for(i=0;i<10;i++)
  {
    a[i]=rand();
  }
  for(i=0;i<10;i++)
  {
  	printf("%d",a[i]);
  	printf("\t");
  }
  printf("\n");
  sortl(a,n);
  printf("该组数的升序排列为:\n");
  for(i=0;i<10;i++)
  printf("%d\t",a[i]);	
}

效果图:

7.3.2代码:

#include<stdlib.h>
#include<time.h>
void sort2(int s[ ],int n)
{
	int i,j,k;
	int temp;
	for(i=0;i<n-1;i++)
	{
		for(k=i,j=i+1;j<=n-1;j++)
		{
			if(s[k]>s[j])
		    k=j;
	    }
		if(k!=i)
		{
			temp=s[k];
			s[k]=s[i];
			s[i]=temp;
		}
	}
}
main()
{
	int i,a[10],n=10;
	srand(time(NULL));
	printf("随机产生10个整数:\n");
	for(i=0;i<10;i++)
	  a[i]=rand()%100; 
	for(i=0;i<10;i++)
	{
		printf("%d ",a[i]);
	    printf("\n");
	}
	sort2(a,n);  
	printf("升序排列的结果:\n"); 
	for(i=1;i<10;i++)
	printf("%d ",a[i]);
}

效果图:

7.3.3代码:

main()
{
	int a[50][50],i,j,n;
	printf("请输入杨辉三角形的行数:\n");
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
	    a[i][i]=1;
		a[i][1]=1;	
	} 
	for(i=3;i<=n;i++)
	{
		for(j=2;j<=i-1;j++)
		{
			a[i][j]=a[i-1][j-1]+a[i-1][j];
		}
	}
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=i;j++)
		{
			printf("%5d",a[i][j]);
		}
		printf("\n");
	}
}

效果图:

7.3.4代码:

int day_tab[2][13]={
{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int day_year(int year,int month,int day)
{
	int i,j,s=0;
	i=(year%4==0)&&(year%100!=0)||(year%400==0);
	for(j=1;j<month;j++)
	s+=day_tab[i][j];
	s=s+day;
	return s;
}
main()
{
	int y,m,d;
	printf("Please input value of year month day:\n");
	scanf("%d%d%d",&y,&m,&d);
	printf("是这年的第%d天,\n",day_year(y,m,d));
}

效果图:

7.3.5代码:

#include"string.h"
#define N 40
main()
{
	char str[N],ch='Y';
	int i;
	int len;
	printf("Please input a string\n");
	scanf("%s",&str);
	len=strlen(str);
	for(i=0;i<len/2;i++)
	if(str[i]!=str[len-i-1])
	{
		ch='N';
		break;
	}
	if(ch=='Y')
	printf("%s是一个回文数\n",str);
	else
	printf("%s不是一个回文数\n",str);
}	

效果图:

2.心得小结:

已经能够较为熟练的掌握并使用一维和多维数组的定义和数组元素的引用方法,
但是代码的编写速度不过快,还很容易卡壳.
posted @ 2021-06-23 12:56  MeYiYan  阅读(253)  评论(0编辑  收藏  举报