一、PTA实验作业

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

1. 本题PTA提交列表

2. 设计思路

  • 1.定义整形变量i=0,count=0,flag.
  • 2.定义数组str[999]
  • 3.输入str[i]=getchar())!='\n,i++数组
  • 4.进入for(i=0;str[i]!='\0';i++)的循环.
  • 5.判断输入的数组是否符合条件,若符合flag=1.
  • 6.判断输入的数组是否符合条件并且str[i+1]=='\0',符合count++.
  • 7.判断输入的数组是否str[i]','||str[i]'.'||str[i]'!'||str[i]'?,符合则flag=0.
  • 8.判断输入的数组是否(str[i]','||str[i]'.'||str[i]'!'||str[i]'?')&&(str[i-1]>='a'&&str[i-1]<='z'||str[i-1]>='A'&&str[i]<='Z'||str[i-1]>='0'&&str[i-1]<='9').符合则count++.
  • 9.判断输入的数组是否flag1&&str[i]' '&&str[i-1]!=' '.是,count++.
  • 10.输出count的值.

3.代码截图

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

  • 没有考虑文本结尾标点符号前可能有空格,而导致部分正确.

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

1. 本题PTA提交列表

2. 设计思路

3.代码截图

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

  • 没有问题.

题目3:7-7 删除字符串中的子串

1. 本题PTA提交列表

2. 设计思路

  • 1.定义整形变量 N,i,j,flag=0,m,count=0,b=0,l;
  • 2.定义数组str[10000],hexad[10000],x[10000].
  • 3.进入for(j=1;j<=2;j++)的循环,输入str[i]=getchar())!='\n'的两串数组字符.
  • 4.如果输入的字符串为第一句,flag++.
  • 5.如果输入的字符串为第二句,count++.
  • 6.如果j=1,进入for(i=0;str[i]!='\0';i++)的循环,用新的数组hexad[i]来表示第一串字符串.
  • 7.如果j=2,进入for(j=1;j<=flag;j++)的去嵌套循环
  • 8.再进入for(i=0;hexad[i]!='\0';i++)的循环
  • 9.进入for(m=0;m<count;m++)的循环
  • 10.如果(hexad[i]!=str[m],break;
  • 11.如果m<count-1,i++.
  • 12.如果m!=count,x[b]=hexad[l];.
  • 13.进入for(b=0;x[b]!=0;b++)的循环,用数组hexad[b]来表示x[b];
  • 14.最后 putchar(x[b]).

3.代码截图

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

  • 只删除一个字符串,没有考虑到有重复的情况.

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

三、同学代码结对互评

1.互评同学名称

  • 吴军霖.

2.我的代码、互评同学代码截图

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

  • 1.我和军霖同学的解题方法一点类似,都是通过规律来做,但是军霖方法是找出行列跟数组下表的关系,而我的方法是用规律每一行的每个字母都是相差4个单位.
  • 2.我更喜欢军霖代码,只用了19行,而且方法创新.

四、本周学习总结

1.你学会了什么?

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

  • 类型 *p

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

  • 比如(*p)++,将指针所指的变量自增;俩个同类型的指针变量可以相减,但是不是相加

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

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

``#include<stdio.h>

void big(float x,int *intpart,float *floatpart);

int main(void)

{

int intpart;

float number,floatpart;

scanf("%f",&number);

big(number,&intpart,&floatpart);

printf("%d %f",intpart,floatpart);

return 0;

}

void brek(float x,int *intpart,float *floatpart)

{

*intpart=x;

floatpart=x-intpart;

}`

![](http://images2017.cnblogs.com/blog/1232392/201712/1232392-20171210212946646-1813415606.png)

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

include<stdio.h>

void brek(float x,int *intpart,float *floatpart);

int main(void)

{

int intpart;

float number,floatpart;

scanf("%f",&number);

brek(number,&intpart,&floatpart);

printf("%d %f",intpart,floatpart);

return 0;

}

void brek(float x,int *intpart,float *floatpart)

{

*intpart=x;

floatpart=x-intpart;

}

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

int a[100],*p;

p=a;

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

char *p;

char a[10];

p=a;

###1.8 利用字符指针操作字符串,如设计函数实现字符串连接,请在此贴图展示代码。说明指针表示字符的方法好处是什么?
![](http://images2017.cnblogs.com/blog/1232392/201712/1232392-20171210213713115-1772652593.png) - 比较好解题
##2.本周你不会内容有什么?
- 不会指针的熟练运用
- 不会冒泡法.
###2.1 课堂派错题罗列及如何订正。
- ![](http://images2017.cnblogs.com/blog/1232392/201712/1232392-20171210214131318-1458229416.png)
- 通过devc编译
![](http://images2017.cnblogs.com/blog/1232392/201712/1232392-20171210214319568-1054655711.png)
- &是个地址,*p是个值,两者不能合在一起.
![](http://images2017.cnblogs.com/blog/1232392/201712/1232392-20171210214540115-2102686674.png)
- 把p当作值来做导致选了A,而p所指向的是个地址,故选D.
![](http://images2017.cnblogs.com/blog/1232392/201712/1232392-20171210215009068-1954178322.png)
- num p+10 max<*q ###2.2 其他不会的?打算怎么解决
##3.数组上机考试小结
###3.1 那题错了,请罗列?
![](http://images2017.cnblogs.com/blog/1232392/201712/1232392-20171210215213271-1376626040.png) ![](http://images2017.cnblogs.com/blog/1232392/201712/1232392-20171210215339130-1847846470.png) ![](http://images2017.cnblogs.com/blog/1232392/201712/1232392-20171210215412755-1675640504.png) ###3.2 错题如何订正,为什么错了?
![](http://images2017.cnblogs.com/blog/1232392/201712/1232392-20171210215529224-114029880.png) - 题目中定义的数组是整形数组,故不能b[i]!='\0'来结束循环,得用n<来判断.

c语言字符类型作业的更多相关文章

  1. C语言-字符类型

    C语言-字符类型 char不仅是一种整数,也是一种特殊的类型:字符(character). 常用单引号表示字符的字面量,如'a', '1'. 单引号''也是一个字符,printf和scanf里用的%c ...

  2. C语言字符数组作业

    一.PTA实验作业 题目1:7-1 字符串转换成十进制整数 1. 本题PTA提交列表 2. 设计思路 3.代码截图 4.本题调试过程碰到问题及PTA提交列表情况说明. 1.一开始我没想到怎么判断正负的 ...

  3. 网络1712--c语言字符数组作业总结..

    ---恢复内容开始--- 作业亮点 1.总体情况 1.大部分同学利用了流程图后,对于思路的理解有了提升. 2.很多同学在总结方面写的很不错,能够罗列问题贴出解决问题,我们能够看到你们的进步 2.作业发 ...

  4. 2016年11月3日JS脚本简介数据类型: 1.整型:int 2.小数类型: float(单精度) double(双精度) decimal () 3.字符类型: chr 4.字符串类型:sting 5.日期时间:datetime 6.布尔型数据:bool 7.对象类型:object 8.二进制:binary 语言类型: 1.强类型语言:c++ c c# java 2.弱类型语

    数据类型: 1.整型:int 2.小数类型: float(单精度) double(双精度) decimal () 3.字符类型: chr 4.字符串类型:sting 5.日期时间:datetime 6 ...

  5. 转 Go语言基本类型 —— 字符类型

    https://blog.csdn.net/FHD994603831/article/details/92435724 字符类型Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用b ...

  6. C语言Ⅰ博客作业06

    这个作业属于哪个课程 C语言程序设计Ⅰ 这个作业要求在哪里 熟练掌握多分支结构,字符型数据类型和逻辑运算符 我在这个课程的目标是 https://www.cnblogs.com/tongyingjun ...

  7. C语言Ⅰ博客作业10

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10097 我在这个课程的 ...

  8. C语言Ⅰ博客作业08

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9978 我在这个课程的目 ...

  9. C语言Ⅰ博客作业07

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9933 我在这个课程的目 ...

随机推荐

  1. C# 图解教程 第一章 C#和.NET框架

    C#和.NET框架 在.NET之前.NET时代 .NET框架的组成大大改进的编程环境 编译成CIL编译成本机代码并执行CLR Common Language RuntimeCLI Common Lan ...

  2. Android热修复技术原理详解(最新最全版本)

    本文框架 什么是热修复? 热修复框架分类 技术原理及特点 Tinker框架解析 各框架对比图 总结   通过阅读本文,你会对热修复技术有更深的认知,本文会列出各类框架的优缺点以及技术原理,文章末尾简单 ...

  3. Keras官方中文文档:keras后端Backend

    所属分类:Keras Keras后端 什么是"后端" Keras是一个模型级的库,提供了快速构建深度学习网络的模块.Keras并不处理如张量乘法.卷积等底层操作.这些操作依赖于某种 ...

  4. 【NOIP2012】疫情控制(二分,倍增,贪心)

    洛谷上的题目链接,题目不在赘述 题解 既然要时间最短,首先考虑二分. 因此,考虑二分时间,问题转换为如何检查能否到达. 如果一支军队一直向上走,能够到达根节点,那么他可以通过根节点到达其他的节点,因此 ...

  5. Delphi子窗体随主窗体大小而变化

    当然办法有很多种,我建议用TRzsplitter更好点, TRzsplitter分割,在其上边放置panel,然后把align置为alClient,则可以随着主窗体的大小而一起变动 选中此控件右键ed ...

  6. 网络游戏开发-服务器(01)Asp.Net Core中的websocket,并封装一个简单的中间件

    先拉开MSDN的文档,大致读一遍 (https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/websockets) WebSocket 是一 ...

  7. sql语句转为Model

    在跟数据库打交道的时候,有一个常用的应用,就是把数据库中的表转为程序中的对象,也就是说表中的列转为对象的属性.对于字段比较少的,我们可以直接复制过去改,但是字段数比较多的时候,借助工具类实现比较方便而 ...

  8. Python 中的继承、多态和封装

    涉及问题: Python 中如何实现多继承,会有什么问题? Python 中的多态与静态方法有什么区别? 答案要点如下: Python 中的继承,就是在定义类时,在括号中声明父类,简单示例如下: cl ...

  9. freemarker的classic_compatible设置,解决报空错误

    前段时间接触freemaker时,本来后端写各接口运行正常,但加入了模板后,频繁报空指针问题,整了许久,最后还是请教了别人解决了这个问题,现在记录下来,方便以后碰到了可以查阅. 错误样例如下: ERR ...

  10. firemonkey EDit 改变颜色

    PS:本来不应该有多难,结果折腾了半天, firemonkey EDit  Canvas 按需绘颜色 procedure TForm.EditPaint(Sender: TObject; Canvas ...