zoukankan      html  css  js  c++  java
  • 《C语言程序设计》实验报告(六)

    C语言程序设计报告

    实验项目:课堂练习7.3.1-1,7.3.1-2,7.3.2-1,7.3.2-2,7.3.3

    姓名:余永祥 实验地点:家 实验时间:2020年5月7日

    一、实验目的与要求

    1.加强对数组这一数据类型的理解与应用;

    2.强化程序设计能力。

    二、实验内容

    1.实验练习:

    实验7.3.1-1

    实验代码:

    #include<stdio.h> 
    #include<stdlib.h>
    #include<time.h>
    void sort1(int s[],int n)
    {
    	int i,j,temp;
    	for(i=0;i<=9;i++)
    	{
    		for(j=9;j>=0;j--)
    		{
    			if(s[j]<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个随机整数:
    ");
    	for(i=0;i<10;i++)
    	{
    		a[i]=rand();
    	}
    	for(i=0;i<10;i++)
    	{
    		printf("%d ",a[i]);
    	}
    	printf("
    ");
    	sort1(a,10);
    	printf("排序后结果:
    ");
    	for(i=0;i<10;i++)
    	{
    		printf("%d ",a[i]);
    	}
    }
    

    出现问题:无

    注意事项:无

    2.实验练习:

    实验7.3.1-2

    实验代码:

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

    出现问题:无

    解决方法:无

    3.实验练习:

    实验7.3.2-1

    实验代码:

    #include<stdio.h>
    main()
    {
    	int a[50][50],i,j,n;
    	printf("输入杨辉三角形的行数:
    ");
    	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("%d ",a[i][j]);
    		}
    		printf("
    ");
    	}
    }
    

    三角形版

    #include<stdio.h>
    main()
    {
    	int a[50][50],i,j,n;
    	printf("输入杨辉三角形的行数:
    ");
    	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=n-i;j>=0;j--)
    		{
    			printf("  ");
    		}
    		for(j=1;j<=i;j++)
    		{
    			printf("%-4d ",a[i][j]);
    		}
    		printf("
    ");
    	}
    }
    

    4.实验练习:

    实验7.3.2-2

    实验代码:

    #include<stdio.h> 
    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 y,int m,int d) 
    {
    	int i=0,j,s=0;
    	if(y%4==0&&y%100!=0||y%400==0)
           { 
    		i=1;
    	}
    	for(j=1;j<m;j++)
            {
    	s=s+day_tab[i][j];
    	}
    	s+=d; 
    	return s; 
    }
    int main()
    {
    	int y,m,d;
    	printf("Input year_month_day:");
    	scanf("%d%d%d",&y,&m,&d);
    	printf("是这年的第%d天
    ",day_year(y,m,d));
    	return 0;
    }
    

    出现问题:中间记错11月份天数了,尴尬

    解决方法:无

    5.实验练习:

    7.3.3

    实验代码:

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

    出现问题:无

    解决方法:无

    三、实验小结

    收获:

    1.复习了之前学习的内容,比如各种三角形的输出;

    2.熟悉掌握了数组的使用方法,可以更加熟练的使用;

    不足:

    1.偶尔会出现漏括号的问题,主要出现在数组的定义中;

    2.对地址和数据的理解还不到位,还会向同学们学习一下。

  • 相关阅读:
    冲刺NO.2
    冲刺NO.1
    用户场景描述
    【洛谷T2695 桶哥的问题——吃桶】
    【洛谷P4445 【AHOI2018初中组】报名签到】
    清北学堂2019.5.4
    清北学堂2019.5.3
    清北学堂2019.5.2
    清北学堂培训2019.5.1
    清北学堂培训2019.4.30
  • 原文地址:https://www.cnblogs.com/GZ-1128-XZ/p/12952122.html
Copyright © 2011-2022 走看看