zoukankan      html  css  js  c++  java
  • C语言第九次博客作业--指针

    一、PTA实验作业

    题目1:6-5 判断回文字符串

    1.本题PTA提交列表

    2. 设计思路

    函数传入地址,给形参s
    定义flag,i为循环变量,k为字符串数。
    k=strlen(s)-1。
    for i=0 to i<=k
        如果s[i]!=s[k],则flag=1。
            i++,k--
    end
    如果flag==0
        则返回true
    其他
        则返回false
    

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明。

    • 1.k的值没有算对。

      解决方法:将k=strlen(s)改为k=strlen(s)-1。

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

    1.本题PTA提交列表

    2. 设计思路

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明。

    • 无。

    题目3:6-11 报数

    1.本题PTA提交列表

    2. 设计思路

    定义环境变量i,j=0,count=0,length,数组circle[MAXN],temp[MAXN]
    for i=0 length=0 to  i<n
      circle[i]=i+1
      i++,length
     end
    while(length>0)
      for i=0 to i<n
        若circle[i]不等于0
           则count++
        否则continue
        若count%3==0
           则temp[j]=circle[i]
           j++,circle[i]=0,length--
    end
    for i=0 to i<n
      j=temp[i]
      out[j-1]=i+1
    end
    

    3.代码截图

    4.本题调试过程碰到问题及PTA提交列表情况说明。

    • 对数组角标和对应的号码在做题过程中有点混乱。

    二、截图本周题目集的PTA最后排名。

    三、阅读代码

    代码一


    本题对字串的处理通过j=i,k=0;str1[j]==str2[k];j++,k++,以及!str2[k+1]的判断,十分的巧妙。

    代码二

    #include <stdio.h>
    #define MAXN 10
    
    int ArrayShift( int a[], int n, int m );
    
    int main()
    {
        int a[MAXN], n, m;
        int i;
    
        scanf("%d %d", &n, &m);
        for ( i = 0; i < n; i++ ) scanf("%d", &a[i]);
    
        ArrayShift(a, n, m);
    
        for ( i = 0; i < n; i++ ) {
            if (i != 0) printf(" ");
            printf("%d", a[i]);
        }
        printf("
    ");
    
        return 0;
    }
    int ArrayShift( int a[], int n, int m ){
    	int i,j,temp;
    	for(i=1;i<=m;i++){
    		temp=a[n-1];
    		for(j=n-1;j>0;j--){
    			a[j]=a[j-1];
    		}
    		a[0]=temp;
    	}
    	return 0;
    }
    

    这和我之前用的一下子都移动的方法不同,相比之下这个代码更简洁且可读性更高而且不用考虑特殊的输入情况,值得学习。

    四、本周学习总结

    1.自己总结本周学习内容。

    • 1.学会指针的基本使用。
    • 2.懂得了数组和指针的关系和联系。
    • 3.学会了字符串的一些函数。
    • 4.使用指针,减少了数组题目的代码长度。

    2.罗列本周一些错题。

    • 1.
      一开始指针概念不熟悉,对指针的概念比较模糊。
    • 2.
      *a指的是指向地址的值。
    • 3.
      调用函数时,只有给出数组首地址即可。
  • 相关阅读:
    标准部件工具箱概述
    从数据库和文件夹中读取图片并且resize
    控件的Lookup
    分隔字符串并以List返回(strSplit函数)
    窗体中的选中数据传递给报表
    对筛选之后的grid进行求和统计
    动态添加图片控件例子
    利用CSV文件导入数据的例子
    调用打开文件的对话框
    ax设置数据源的操作
  • 原文地址:https://www.cnblogs.com/oracler0103/p/8037840.html
Copyright © 2011-2022 走看看