四 PTA指针实验

#一、PTA指针实验作业。

##题目1:

##1. 本题PTA提交列表:

##2. 设计思路: 1,创建三个数组a[100], b[100], c[100],初始化,用作容器;

2,把传递过来的数组s[]的前三个数据放进a[]里,把剩下的数据放入b[]里面,

3,最后把数组b和数组a依次赋值给数组s,最后返回子函数。

流程图:

主要描述题目算法:

void Shift(char s[])
{
    int i, t, d = 0, e;
    char a[100], b[100], c[100];
    memset(a, 0, sizeof(a));//abc数组都没有初始化,里面的数据不能保证是正常的
    memset(b, 0, sizeof(b));
    memset(c, 0, sizeof(c));
    e = strlen(s);
    for (i = 0; i<e; i++) {
        if (i <= 2) {
            a[i] = s[i];
        }
        if (i>2) {
            b[d] = s[i];
            d++;
        }
    }
    d = 0;
    t = strlen(b);
    for (i = 0; i<e; i++) {
        if (i<t) {
            s[i] = b[i];
            //c[i] = b[i];
        }
        if (i >= t) {
            s[i] = a[d];
            //c[i] = a[d];
            d++;
        }
    }
    //  puts(c);
    return;//void也写上return比较好
}

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

##题目2:

##1. 本题PTA提交列表:

##2. 设计思路:1,直接用指针指向,用函数把数组t 放到数组s 后面。

2,再将数组s返回到主函数中。

流程图:

主要描述题目算法:

char *str_cat( char *s, char *t )
{
  strcat(s,t);
  return s;
}

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

因为本题有引用字符串函数,所以本就没必要再去写strcat函数的原型,偷懒也无所谓了。

##题目3:

##1. 本题PTA提交列表:

##2. 设计思路:1,主函数传递了一个参数n,在子函数中进行选择;

2,由指针指向返回主函数。

流程图:

主要描述题目算法:

char *getmonth( int n )
{
    switch(n)
    {
    case 1:return "January";
    case 2:return "February";
    case 3:return "March";
    case 4:return "April";
    case 5:return "May";
    case 6:return "June";
    case 7:return "July";
    case 8:return "August";
    case 9:return "September";
    case 10:return "October";
    case 11:return "November";
    case 12:return "December";
    default:return NULL;
    }
}

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

#二、同学代码结对互评。

##1.同学互评照片

我的代码和杨晓琪的互评

6-4 字符串的连接

##2.我的代码、互评同学代码截图(此处截图核心代码就好,不一定截图全部代码,图上指明是谁的代码。)

我的代码:

同学的代码(杨晓琪):

##3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。

我的代码是投机取巧的,因为看到题目有 “#include<string>” 就直接用了函数“strcat()”;

杨晓琪同学的代码是按照出题人给的意思做出了“strcat()”的原型函数,666,实属我辈学习之楷模,今后学习要向杨同学看齐。

#三、截图本周题目集的PTA最后排名

#四、本周学习总结。

指针简单理解为地址。

指针的类型要和指针指向的数据类型要相同。

对简单的指针能有一定的理解和应用,对进阶进阶的知识还很难掌握应用,尤其是指向函数的指针,指向指针的指针。

原文地址:https://www.cnblogs.com/yatouf/p/8318855.html

时间: 2024-11-05 15:00:50

四 PTA指针实验的相关文章

四、PTA指针实验报告

四.PTA实验作业(指针) 题目一:   1.本题PTA提交列表: 2.设计思路(包括流程图),主要描述题目算法 //设计思路,由题目可知 1.由于这道题不知道具体要输入数据,所以采用calloc来按要求进行分配内存 2用for()循环来输入数据,斌且进行数据的求和,在内层循环中再通过一一比较,就可以求出数据的最大最小值 3.最后释放不用的内存 4.输出平均值,最大值,最小值 最终的代码如下: 流程图如下: 3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试

PTA指针实验

6-1 计算两数的和与差(10 分) 本题要求实现一个计算输入的两数的和与差的简单函数. 函数接口定义: void sum_diff( float op1, float op2, float *psum, float *pdiff ); 其中op1和op2是输入的两个实数,*psum和*pdiff是计算得出的和与差. 裁判测试程序样例: #include <stdio.h> void sum_diff( float op1, float op2, float *psum, float *pdi

三 PTA 数组实验

#一.PTA数组实验作业. ##题目1: ##1. 本题PTA提交列表: ##2. 设计思路: 1,先输入数组个数,再输入数组的值. 2,让第一个赋值给一个变量,然后再把最后一个赋值给第一个,最后再把变量的值赋给最后一个. 3,循环n/2次,得到新的数组排列,输出. 流程图: 主要描述题目算法: ##3.本题调试过程碰到问题及PTA提交列表情况说明. ##题目2: ##1. 本题PTA提交列表: ##2. 设计思路: 1,输入数组个数 ,数组,要找的值. 2.从第一个数组与要找的值进行比较,直到

第八章 指针实验

C程序设计实验报告 实验项目:指针实验 姓名: 王雨晴 实验地点: 514物联网实验室 实验时间:2019年6月12日 实验项目 指针基础及指针运算 数据交换 字符串反转及字符串连接 数组元素奇偶排列 一.实验目的和要求 (1)掌握指针的概念和定义方法. (2)掌握指针的操作和运算 (3)掌握指针与数组的关系 (4)掌握指针与字符串的关系 (5)熟悉指针作为函数的参数以及返回指针函数 (6)了解函数指针 二.实验内容 实验练习一 8.3.1指针基础及指针运算 1.问题描述 定义一个整型指针变量p

第八章指针实验

第八次实验报告 实验项目:指针实验 姓名:廖云福 实验地点: 514物联网实验室 实验时间:2019年6月12日 实验项目 指针基础及指针运算 数据交换 字符串反转及字符串连接 数组元素奇偶排列 一.实验目的和要求 (1)掌握指针的概念和定义方法. (2)掌握指针的操作和运算 (3)掌握指针与数组的关系 (4)掌握指针与字符串的关系 (5)熟悉指针作为函数的参数以及返回指针函数 (6)了解函数指针 二.实验内容 实验一. 8.3.1指针基础及指针运算 1.问题描述 定义一个整型指针变量p,使'y

Beaglebone Back学习四(GPIO实验)

GPIO Beaglebone Back开发板引出了92个引脚,其中只有65个GPIO口可通过配置使用,由于引脚具有"复用"的特性,大约每个引脚有8种工作模式(Beagle System Reference Manual),默认情况下,设为Mode7.由于P8扩展部分的引脚功能相对简单,复用不多,故项目功能复杂时,最好选择P8上的GPIO口. 对GPIO口的操作,主要有三个步骤 1 选择GPIO口根据以下两表,确定使用那个GPIO口,该表也可以在BBB_SRM文件中找到. (1)拉电流

嵌入式Linux C语言(四)——指针与数组

嵌入式Linux C语言(四)--指针与数组 数组是C语言内建的数据结构,彻底理解数组及其用法是开发高效应用程序的基础.数组和指针紧密关联,但又不是完全可以互换. 一.数组简介 数组是能用索引访问的同种类型元素的连续集合.数组的元素在内存中是相邻的,中间不存在空隙,数组的元素是相同类型的. 1.数组的解读 数组的定义:int a[10] = {0,1,2,3,4,5}; a[0]:数组的第一个元素,首元素(做左值时表示第0个元素的内存空间) &a:数组的首地址,是常量,不能做左值,类型等同int

&lt;深入理解C指针&gt;学习笔记和总结 第四章 指针和数组

数组是一个什么玩意: 数组和指针我的理解,有相同之处也有不同之处.因有相同之处,因此一些资料上说,数组和指针本质是相同的.因有不同之处,因此也有一些资料上说,数组和指针是不一样的. 相同之处: 数组名字和指针名字都代表了一个地址. 如:int num[10];num是数组名.函数开辟了一个存储十个整数类型的空间,而num是他们的首地址. int *p; p=(int *)malloc(10*sizeof(int));类似的,p也指向了首地址. 不同之处是,num[10]中的空间位置是在栈中,而

第四章 指针 Pointer(进阶)

第四章 指针 pointer(进阶) 那么我们这次的课程就是学习如何的实现pointer怎么使用pointer. 我们已经知道在pseudo-code如何的declare一个pointer. Integer myNum refToInteger myNumPtr In C++ int myNum; int *myNumPtr; Suppose X is any type. Pseudocode: declare a pointer named ptr using refToX ptr C++: