pta指针作业 张文扬

题目一:计算两数的和与差

#include <stdio.h>

void sum_diff( float op1, float op2, float *psum, float *pdiff );

int main()
{
    float a, b, sum, diff;

    scanf("%f %f", &a, &b);
    sum_diff(a, b, &sum, &diff);
    printf("The sum is %.2f\nThe diff is %.2f\n", sum, diff);
	
    return 0; 
}

/* 你的代码将被嵌在这里 */
提交列表:

 设计思路及流程图:

用两个分别指向sum和diff的指针来计算sum和diff

提交过程遇到的问题:要明白指针传的是地址

题目二:字符串的连接

#include <stdio.h>
#include <string.h>

#define MAXS 10

char *str_cat( char *s, char *t );

int main()
{
    char *p;
char str1[MAXS+MAXS] = {'\0'}, str2[MAXS] = {'\0'}; scanf("%s%s", str1, str2); p = str_cat(str1, str2); printf("%s\n%s\n", p, str1); return 0; } /* 你的代码将被嵌在这里 */
提交列表:

同学的代码

char *str_cat( char *s, char *t )

{

  char*p; p=strcat(s,t);return(p);

}

与他的比较,他直接用了string里面的函数更为简单,而我的又把 comcoy的 函数编写了一遍,

虽然复杂了点,但是更加明了


 设计思路及流程图:

提交过程遇到的问题:要明白指证传的是地址,本题是返回一个指针

题目三:移动字母

#include <stdio.h>
#include <string.h>

#define MAXS 10

void Shift( char s[] );

void GetString( char s[] ); /* 实现细节在此不表 */

int main()
{
    char s[MAXS];

    GetString(s);
    Shift(s);
    printf("%s\n", s);
	
    return 0; 
}

/* 你的代码将被嵌在这里 */

 提交列表:

 设计思路及流程图:

提交过程遇到的问题:要明白指证传的是地址,数组名也可以当作地址

 

三、题目集的PTA最后排名

 

本周学习总结:

1、 你学会了什么?

如何把以前的一些程序用指针来替代,更加深刻的体会到了指针的好处,可以和数组一样,一次可以返回多个值

2、本周内容, 你还不会什么?

简单的指针是会了,但是对与指针函数,指针数组等掌握的还不够,需多加练习

 

posted @ 2018-01-22 09:13  张文扬  阅读(597)  评论(0)    收藏  举报