码迷,mamicode.com
首页 > 编程语言 > 详细

C语言博客作业--字符数组

时间:2017-12-10 13:09:47      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:直接   ref   不同   调试过程   c语言   测试   输入数据   课堂   组元   

一、PTA实验作业

题目1:7-2 统计一行文本的单词个数

  1. 本题PTA提交列表
    技术分享图片

  2. 设计思路
    技术分享图片

3.代码截图
技术分享图片

4.本题调试过程碰到问题及PTA提交列表情况说明。
第一次我以为最后的句号不算单词,后来找做对的同学用不同的几组数据试了一下才知道句号也算单词,然后又是段错误,我就把开始定义的数组长度弄长点就过了

题目2:7-6 Jack cheng的烦恼2

  1. 本题PTA提交列表
    技术分享图片

  2. 设计思路

    int n,i,j,flag=0;
    输入n的值
    char bra[n];
    输入数据
    i for 0 to n-1
    if 为左括号,变为字符0
      j for 0 to n-1 
    if  为右括号,变为字符0,跳出循环
    end
    end
    大括号处理方法同上
     i for 0 to n-1//遍历数组,若不全为0,则未完全匹配
     if 不为0,flag=1
     if flag=0 输出True
     else 输出false

    3.代码截图
    技术分享图片

4.本题调试过程碰到问题及PTA提交列表情况说明
开始我的思路是用一个标记遇到左括号就自增,遇到右括号就自减,最后判断该标记是否为0,后面发现这样不能正确配对,然后看了同学的思路,重新设计了一个思路

题目3:7-10 正整数A+B

  1. 本题PTA提交列表
    技术分享图片

  2. 设计思路

    char A[80],B[80];
    int i,j,flag1=0,flag2=0,x=0,y=0,k=0;
    输入加数和被加数
    历数A,B字符个数i,j
     i for i-1 to 0
     if A[i]不为数字,flag=1;跳出循环
     x=x+(A[i]-‘0‘)*pow(10,k++);//将字符型数字转为整型 
     if x不在1~1000内 flag1=1;//界定范围
     k=0
     B数组处理同上
     if flag1=0且flag2=0  正常输出 
      else if  flag1=1且flag2=0
    左边不正常输出 
    else if  flag1=0且flag2=1
    右边不正常输出
    else
    全不正常输出

    3.代码截图
    技术分享图片

4.本题调试过程碰到问题及PTA提交列表情况说明
一开始没有看到数有范围,所以做的时候没给它界定范围,后来用临界条件试的时候发现问题,又仔细看了题目才恍然大悟

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

技术分享图片

三、同学代码结对互评

1.互评同学名称
张志鑫
2.我的代码、互评同学代码截图(此处截图核心代码就好,不一定截图全部代码,图上指明是谁的代码。)
我的代码:
技术分享图片

张志鑫的代码:
技术分享图片

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
这题原先他是错的,我帮他改了一下
技术分享图片
他的思路就是先把第一行字符串给str2,记下他的长度,然后下面每一行字符串记下长度后与str2比较,如果比str2长,那么就将这个字符串赋给str2
他这个思路有点类似找最大值,思路很简单,就是麻烦点

四、本周学习总结
1.你学会了什么?

1.1指针变量如何定义(设计代码可以用markdown代码符号渲染)?

int *p
char *p
float *p
double *p

1.2 指针加法运算运用在哪种情况,2个指针变量能否相加?
数组中,比如int *p,a[10];p=a,这时p可以加上整型数,p+1,就是a[1]的地址,.指针之间可以相减,但不可以相加,两个同一类型的指针变量是可以相减的,他们的意义表示两个指针指向的内存位置之间相隔多少个元素

1.3 指针不赋初值,直接使用,会出现什么情况,请用DEVC验证,并截图展示?
技术分享图片
技术分享图片

1.4 课堂派上关于分离浮点数的整数部分和小数部分那题,请用DEVC验证实现,并在此贴图展示,同时说明哪句是指针变量做函数形参,函数实参应该怎么表示。指针变量做函数形参有什么用处?
技术分享图片
技术分享图片

1.5 请把课本的冒泡排序的函数改成指针变量做形参格式,并把代码写在底下,注意用markdown语法渲染。

void bubble(int *p,int n)
{
    int i,j,t;
    for(i=1;i<n;i++)
    for(j=0;j<n-i;j++,p++)
    if(*p>*(p+1))
    {
        t=*p;
        *p=*(p+1);
        *(p+1)=t;
    }
}

1.6 如何定义一个指针变量指向数组,如何用指针变量表示数组元素?

int a[10],*p;
p=a;

p表示a[0],(p+1)表示a[1]以此类推

1.7 如何定义字符指针指向字符串?指针指向字符串后,初始位置在哪里?

char *p;
char str[10] = "afjkfdhsjk";
p = str;

初始位置指向字符串的首个字符

1.8 利用字符指针操作字符串,如设计函数实现字符串连接,请在此贴图展示代码。说明指针表示字符的方法好处是什么?

#include <stdio.h>
#define MAXN 80
char *strmcat( char *str1,  char *str2 );
int main()
{
    char s[MAXN], t[MAXN];
    int m;
    gets(s);
    gets(t);
    strmcat(s,t);
    printf("%s\n",s);
    return 0;
}
char *strmcat( char *str1,  char  *str2)
{
   while(*str1)
    str1++;
   while(*str2)
   {
    *str1=*str2;
    str1++;
    str2++;
   }

}

可以直接对地址内的元素进行操作

2.本周你不会内容有什么?

2.1 课堂派错题罗列及如何订正。
拆分实数的小数与整数部分那题,将指针赋了空指针,所以不能往里写东西

2.2 其他不会的?打算怎么解决
pta身份证那题有一个测试点不懂
技术分享图片

    int n,i,j=0,k,z,sum=0,flag1=0,flag2=0,a[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
    scanf("%d",&n);
    char Z,id[n*19],M[11]={‘1‘,‘0‘,‘x‘,‘9‘,‘8‘,‘7‘,‘6‘,‘5‘,‘4‘,‘3‘,‘2‘};
    getchar();
    for(i=1;i<=n;i++)
    {
        j=0;
        flag1=0;
        flag2=0;
        Z=0;
        z=0;
        sum=0;
        while((id[j]=getchar())!=‘\n‘)
        {
            if(id[j]<‘0‘||id[j]>‘9‘)
            flag2=1;
            j++;
        }
        Z=id[j-1];
        if(flag2==0)
        {
        for(k=0;k<17;k++)
        sum=sum+a[k]*(id[k]-‘0‘);
        z=sum%11;
        }
        if((Z!=M[z])||flag2==1)
        {
            flag1=1;
            for(k=0;k<18;k++)
            printf("%c",id[k]);
            putchar(‘\n‘);
        }
        
    }
    if(flag1==0)printf("All passed");
    return 0;

3.数组上机考试小结

3.1 那题错了,请罗列?
除了ip地址转换那题

3.2 错题如何订正,为什么错了?
错题太多,所以给链接[https://pintia.cn/problem-sets/938706667891023872/problems]

C语言博客作业--字符数组

标签:直接   ref   不同   调试过程   c语言   测试   输入数据   课堂   组元   

原文地址:http://www.cnblogs.com/hbw985609191/p/8010996.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!