一、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. js常见排序

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  2. js判定是否为chrome,区分搜狗+360

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. [POJ2774]Long Long Message

    vjudge 一句话题意 给两个串,求最长公共子串. sol 把两个串接在一起求后缀数组.其实中间最好用一个没有出现过的字符连接起来. 判断如果\(SA[i]\)和\(SA[i-1]\)不属于同一个串 ...

  4. linux优化项

    Linux优化: 1.建立普通账号,使用普通用户登陆. 2.处理SELINUX. 3.处理防火墙. 4.精简开机自启动服务.保留sshd,network,crond,rsyslog,sysstat. ...

  5. java导出word

    public void dayinHw(HttpServletRequest request, HttpServletResponse response){ String id = request.g ...

  6. 大数据量情况下高效比较两个list

    比如,对两个list<object>进行去重,合并操作时,一般的写法为两个for循环删掉一个list中重复的,然后再合并. 如果数据量在千条级别,这个速度还是比较快的.但如果数据量超过20 ...

  7. log4net应用实践(一)

          1.背景 log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具.它是.Net下一 ...

  8. 安装paramiko

    前记: 各种奇葩事情都让我遇上了... 1.准备: 1>需要安装python 2>需要安装PyCrypto 2.安装python---省略 3.安装PyCrypto 1>检查pyth ...

  9. 开源自己用python封装的一个Windows GUI(UI Automation)自动化工具,支持MFC,Windows Forms,WPF,Metro,Qt

    首先,大家可以看下这个链接 Windows GUI自动化测试技术的比较和展望 . 这篇文章介绍了Windows中GUI自动化的三种技术:Windows API, MSAA - Microsoft Ac ...

  10. Java测试(一)

    关于while和do-while循环,下列说法正确的是  A 两种循环除了格式不同外,功能完全相同  B 与do-while语句不通的是,while语句的循环至少执行一次  C do-while语句首 ...