• 2018第三,四作业合集


    第一次作业地址:http://www.cnblogs.com/yaoshunyux/p/8588493.html

    作业要求一

    作业要求二

    6-1 最小数放前最大数放后

    1 设计思路(6分)
    (1)主要描述题目算法
    第一步:阅读题目,搞清楚三个函数不同的作用。
    第二步:用scanf在input中输入函数,用上学期学的交换的知识在max_min中交换,最后在output中函数,输出结果。
    第三步:用%3d输出最后的结果。
    (2)流程图(4分)

    2.实验代码(2分)

    #include<stdio.h>
    void input(int *arr,int n);
    void max_min(int *arr,int n);
    void output(int *arr,int n);
    int main()
    { int a[10];
    input(a,10);
     max_min(a,10);
     output(a,10);
     return 0;
    }
    void input(int *arr,int n)
    {
     int i;
      for(i=0;i<=9;i++)
      {
      	scanf("%d",&arr[i]);
       } 
    }
    void max_min(int *arr,int n)
    {
    	int i,j,t1,t2,max,min,m1,m2;
    	max=arr[0];
    	 for(i = 1; i <=9; i++)
     {
    	if(arr[i]>max)
    	{
    	t1=i;
    	max=arr[i];
    	}
     }
    	t2=arr[t1];
    	arr[t1]=arr[9];
    	arr[9]=t2;
    	min=arr[0];
    	for(i=0;i<=9;i++)
    	{
    	if(arr[i]<min)
    	{
    		m1=i;
    		min=arr[i];
    	}
    	m2=arr[0];
    	arr[0]=arr[m1];
    	arr[m1]=m2;
    	}
    	
        }
    
    void output(int *arr,int n)
    {
    	int i;
    	for(i=0;i<=9;i++)
    	{
    	printf("%3d",arr[i]);
    	}
    
    }
    

    3.本题调试过程碰到问题及解决办法(12分)
    错误信息1:

    错误原因:循环次数与题目要求不符,让 i<9。
    改正方法:让i<=9,便是循环10次。

    6-1 判断回文字符串

    1 设计思路(6分)
    第一步:先把数组分为两个部分,从中间分开,再分别从头和尾判断相对应的数是否相等。
    第二步:若完全相等则为回文文字串,否则则不是。
    (2)流程图(4分)

    2.实验代码(2分)

    #include <stdio.h>
    #include <string.h>
    
    #define MAXN 20
    typedef enum {false, true} bool;
    
    bool palindrome( char *s );
    
    int main()
    {
        char s[MAXN];
    
        scanf("%s", s);
        if ( palindrome(s)==true )
            printf("Yes
    ");
        else
            printf("No
    ");
        printf("%s
    ", s);
    
        return 0;
    }
    bool palindrome( char *s )
    {
    	int i,j,n=strlen(s);
    	for(i=0;i<n/2;i++)
    	{
    		if(s[i]!=s[n-1-i])
    		{
    			return false;
    		 } 
    	}
    	return true;
    }
    

    3.本题调试过程碰到问题及解决办法(12分)
    错误信息1:

    错误原因:这题一开始就编译错误,找不出问题,后来发现是因为粗心将true打成了ture。
    改正方法:最后发现了及时的改正了过来

    6-2 使用函数实现字符串部分复制

    1 设计思路(6分)
    第一步:阅读题目可以得知这道题像上学期期末那道猴子偷桃的问题。
    第二步:先用第一个循环确定循环次数,再用第二个循环确定复制的位置,最后让新的函数复制这个数组。
    第三步:最后让这个数组结束。
    (2)流程图(4分)

    2.实验代码(2分)

    #include <stdio.h>
    #define MAXN 20
    
    void strmcpy( char *t, int m, char *s );
    void ReadString( char s[] ); /* 由裁判实现,略去不表 */
    
    int main()
    {
        char t[MAXN], s[MAXN];
        int m;
    
        scanf("%d
    ", &m);
        ReadString(t);
        strmcpy( t, m, s );
        printf("%s
    ", s);
    
        return 0;
    }
    void strmcpy( char *t, int m, char *s ){  
        int i,j,n;  
      
         strcpy(s, t); 
        n = strlen(s);  
          
        for(i=m-1;i>0;i--){  
            for(j=i;j<n;j++){  
                *(s+j-1)=*(s+j);  
            }  
        }  
       *(s+n-m+1)='';
    } 
    

    3.本题调试过程碰到问题及解决办法(12分)
    错误信息1:

    错误原因:这道题对我来说是有些困难的,因为上学期对这里的理解不够深刻和透彻,也没有及时的巩固,一些知识忘得比较严重。以及新函数要最后等于‘’等也有所忘记。
    改正方法:查找以前的做过的题,还有网上相关题型,改变思路,最后做出。

    要求三、学习总结和进度

    1、总结两周来所有PTA作业中每个题目所使用的知识点。
    这两周以来主要学习了地址和数组的联系,以及新的也是旧的知识数组名作为函数的参数,二分查找,及冒泡排序,很多以前学过,如今又和指针联系在了一起,内容较多,也是对以前的复习,应该借这次机会将以往不会的再巩固一次,更好的理解数组,掌握数组。

    2、将PTA作业的源代码使用git提交到托管平台上
    git地址:https://git.coding.net/MikeJackYao/The-first.git

    3、点评3个同学的本周作业
    董雅洁:http://www.cnblogs.com/exo123/p/8575595.html
    徐铭博:http://www.cnblogs.com/xmb1547828350/p/8597402.html
    丰大为:http://www.cnblogs.com/DavidPark/p/8551402.html

    4、请用表格和折线图呈现你本周(3/1813:00~3/25 8:00)的代码行数和时间、博客字数和时间(3分)。

  • 相关阅读:
    Irrlicht入门教程,下载安装运行
    git 命令用法 流程操作
    summernote富文本编辑器的使用
    MVC进行多文件上传
    jQuery中的for循环var与let的区别
    识别图片中文字(百度AI)
    sublime安装 和 插件安装
    nopCommerce电子商务平台 安装教程(图文)
    springMVC 配置和使用
    mysql 一看就会 基本语法
  • 原文地址:https://www.cnblogs.com/yaoshunyux/p/8641466.html
Copyright © 2020-2023  润新知