C语言第八糟糕博客作业–字符数组

平、PTA实验作业

题材1:查验身份证

1. 主题PTA提交列表

图片 1

2. 计划思路

定义i,flag=1,z,m[11],a[19]
输入次数n
for i=1 to n+1
   gets(a)
   加权求和在取余计算z
   switch(z)
   对应查看a[17]与校验码是否一致
   若不一致,flag=0,输出错误身份证
若flag=1,则说明全对

3.代码截图

图片 2

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

图片 3

  • 一些科学 :将x改吗大写x

题目2:藏头诗

1. 主题PTA提交列表

图片 4

2. 计划思路

图片 5

3.代码截图

图片 6

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

主题题目大好掌握,在DEV上勾画的时候发现了上下一心简单个问题

1.对准一个汉字占少数独字节没了解。存储一个字需要简单单字节,而char类型是一个字节,所以一个中文字占用2只字节来囤和出口。

  • 调剂过程:

图片 7

本想通过调试看变量,但发现调试看不发出病在乌。再浏览了平等整整发现自己只在概念时保证了储存空间足够,而于针对新诗赋值时倒从没发现及要有数个字节来代表一个汉字。

pome_[2*i]=pome[i][0];//对新诗赋值 
pome_[2*i+1]=pome[i][1];

2.忽略了字符数组结束标志

  • 调节过程:

图片 8

pome_[2*i]='\0';//标志结束

问题2:辅音大写字母

1. 主题PTA提交列表

图片 9

2. 统筹思路

定义i,num=0,a[80]
输入字符串,接收到\n以\0结尾
for i=0 to a[i]='\0'
   if a[i]是大写字母
       if a[i]不是A,E,I,O,U  num++
输出num

3.代码截图

图片 10

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

举重若轻异常题目,题目从没看清

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

图片 11

老三、同学代码结对互评

1.互评同学名称

王宵莹

2.己之代码、互评同学代码截图

自我之代码

图片 12

宵莹的代码

图片 13

3.本身跟校友代码不同在哪里?有哪各自优势?你再度爱哪种代码风格?如果同学代码来错的也罢请帮忙指出来哪里出题目。

马上道题麻烦在针对多情况的空格进行分辨,我之代码分类很多:开头多独空格,中间多个空格,结尾多单空格。我是把她特有之且认清出;而宵莹的代码则是摸索来了判断单词最着重条件,只要满足一个条件虽判断是一个单词。
自身再爱宵莹的代码,确实会于麻烦想到,但是含金量很高。

季、本周读总结

1.而学会了哟?

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

int *p1 *p2;
p1=&a;
p2=p1;

1.2 指针加法运算运用在哪种状况,2单指针变量能否相加?

指针+常数=常数*指南针所指类型大小
指南针相当给一个地方,两个依靠针求和架空。
图片 14

1.3 指针不予以初值,直接运用,会起啊动静,请用DEVC验证,并截图显示?

  • 指南针的初始值必须是一个地点,决不允许赋予任何其他数据,通常是一个多少的地址或地址变量或空指针。未初始化的指针,它对的内存的值是不足预知的,很多辰光程序崩溃都归因于指针未为初始化或对了左的地方。
    图片 15

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

#include<Stdio.h>
void splitfloat (float x, int *intpart,float *fracpart);
int main()
{
    float x,fracpart;//定义拆分数,小数 
    int intpart;//定义整数 
    scanf("%f",&x);//输入拆分数 
    splitfloat (x,&intpart,&fracpart);//调用函数 
    printf("该实数的整数部分为:%d\n",intpart);//输出 
    printf("该实数的小数部分为:%f\n",fracpart);
    return 0;
} 
void splitfloat (float x, int *intpart,float *fracpart)
{
    float k;
    k=x-(int)x;
    *intpart=(int)x;
    *fracpart=k;
}

图片 16

void splitfloat (float x, int *intpart,float *fracpart)立马词是凭借针变量做函数形参,函数实参为地址(指针变量)。

  • 故而指针变量作函数参数可以将函数外部的地点传递到函数内部,使得以函数内部可以操作函数外部的数目,并且这些数据未会见趁机函数的结而于灭绝。利用其也可假设函数返回多独价。并且像频繁组、字符串、动态分配的内存等还是同系列数据的集聚,没有辙通过一个参数全部扩散函数内部,只能传递它们的指针,在函数内部通过指针来影响这些数据集合。

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

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

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

int a[],*p;
p=a<=>p=&a[0];//指针变量指向数组第一个元素的地址
a[99]<=>*(p+99)<=>p[99]//三者等价

1.7 如何定义字符指针指为字符串?指针指于字符串后,初始位置于哪?

char *sp="point";

指针会指向该字符串的首字符

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

void line(char *p1, char *p2)
{
    while(*p1)
    {
        p1++;
    }
    while(*p2)
    {
        *p1 = *p2;
        p1++;
        p2++;
    }
    *p1='\0';
}
  • 透过指针能实现所谓的“传引用”而不是“传值”,本质上省了数传性能

2.本周若免见面内容产生啊?

2.1 课堂派错题罗列及如何立正。

图片 17

订正:
其一重要错误是最后指针还要当予以一次于值,以免程序崩溃。这个的确如字符串那个’\0’一样特别容易给遗漏。

2.2 其他未会见之?打算怎么解决

对于刚学的指针尤其是字符指针还有些模糊,主要是无晓啊状态下用它比便利,再增长新学所以无绝敢于用。打算多练习一些指针的藏题目来熟悉她。

3.数组上机考试小结

图片 18

3.1 那题错了,请陈?

前方少只函数开没举行出来,刚起看率先开没什么思路,就开始倒着写,等描写到倒数第2写特别输出字符间字符子串时,一直卡在那里,后来打算先放下继续召开,等好函数题时时空已经没有剩下多少了。

3.2 错题如何订正,为什么错了

6-1,6-2:还无赶趟订正。
7-3:这道题类似于字符数组里那道删除子串,我会将当下片题在同化解。