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

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

时间:2017-12-10 21:31:02      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:不同   include   不为   code   body   运算   class   while   一点   

一、PTA实验作业(4分)

题目1:找最长的字符串

1. 本题PTA提交列表(要提交列表,不是结果)

技术分享图片

2. 设计思路(伪代码或流程图)

    定义变量i,j做循环变量,count累计字符串字节的个数,maxm存放最大字节数的那个,n是输入单词个数
    for i=0 to n 进行n次的输入单词
    输入第一个单词并累计字节数把他赋予maxm作为最大值
    判断  if (maxm<counts) 来找出最大的那个然后将他输入到数组max[]中,
    for i=0, to max[]== ‘ \ 0 ‘;
    输出max数组的字符串

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

技术分享图片

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

  • 每次都让maxm 等于一个新的counts,导致找不出最大的那个字符,最后对maxm的赋值进行了修改
  • 用for循环进行输入字符串并以遇到‘ n’就跳出为条件,结果循环出错。最后用while语句来进行输入
    while ((a[j]=getchar())!=‘\n‘)

题目2:统计大写辅音字母

技术分享图片

1. 本题PTA提交列表(要提交列表,不是结果)

技术分享图片

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

技术分享图片

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

  • 数组输入用了for循环导致段错误emmmmmm

题目3:字符串转换成十进制整数

1. 本题PTA提交列表(要提交列表,不是结果)

技术分享图片

2. 设计思路(伪代码或流程图)

    定义循环变量i,j,k,flag
    while ((a[i]=getchar())!=‘#‘)输入字符串
    for (i=0;a[i]!=‘\0‘;i++)遍历数组找出属于16进制字符,b[k]=a[i];并将他赋予b数组,当k=0时向前寻找有没有 ‘ - ’符号有则令flag=1
    最后将b数组遍历将16进制字符转为10进制数
    最后输出判断flag是否等于1是则为负数。

3.代码截图(注意,截图,截图,截图。不要粘贴博客上。不用用···语法去渲染)

技术分享图片

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

  • 最初以为第一个16进制字符前有一个符号为负数两个为正数。。。导致答案出错,最后看到同学写的博客,醍醐灌顶,才使答案正确

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

技术分享图片

三、同学代码结对互评(1分)

1.互评同学名称:王林聪

2.我的代码、互评同学代码截图
王林聪的
技术分享图片

我的
技术分享图片

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

王同学把每个空格前的字符串断开,当遇到空格且前面字符字节不为0时对单词书进行累加,每次这样一轮后将空格数及字符字节数重置为0在继续,循环,最后再结尾判断最后的字符是否为0不为0,则在加1
而我忽略了这一点导致不能满分,王同学得代码值得我学习

四、本周学习总结(3分)

1.你学会了什么?

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

1.2 指针加法运算运用在哪种情况,2个指针变量能否相加?
对数组赋值时,遍历数组时,不能,比较运算可以得到两个指针的相对位置,而相加的结果什么都不是。比如总共有100个房间,甲住在67号,乙住在80号,通过比较运算可以知道他们离的有多远,但如果用67+80得到的是什么?

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

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

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

#include<stdio.h>
void bible(int *p,int n );
int main(void)

{
    int n,a[8],*p,i;
    p=a;
    scanf("%d",&n);
    for (i = 0;i<n;i++)
    scanf("%d",p+i);
    bible (p,n);
    for (i=0;i<n;i++)
    printf("%d",p+i) ;
    return 0;   
}

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

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

int a[],*p; p=a; p p+1 ,p+2 ........==a[0]. a[1].................

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

char *p,ch[]; p=ch; 初试为止在第一个;

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

可以对任意的字符串进行连接,字符指针只用一个单元就可以存放地址的内存单元

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

2.1 课堂派错题罗列及如何订正。
技术分享图片

p)++是先输出p的值然后对p进行加1

技术分享图片

*point是指针point指向的变量a的值

2.2 其他不会的?打算怎么解决

自行课下百度,请教大佬;

3.数组上机考试小结

3.1 那题错了,请罗列?
都错了;

3.2 错题如何订正,为什么错了?
请教大佬,向大佬要考试代码,自己阅读代码,提高阅读代码能力

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

标签:不同   include   不为   code   body   运算   class   while   一点   

原文地址:http://www.cnblogs.com/FOXES/p/8017047.html

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