c语言第五次作业pta,C语言基础课第五次作业

PTA第五次作业

7-2 统计一行文本中的单词个数

一.程序代码

#include

int main(void)

{char string[10000];int i,num=0,word=0;charc;

gets(string);for(i=0;(c=string[i])!='\0';i++)if(c==' ') word=0;else if(word==0){

word=1;

num++;

}

printf("%d\n",num);return 0;

}

二.设计思路

1.文字描述

第一步:编译预处理命令,定义主函数

第二步:定义变量,先定义一个以“string”为名的一维数组,用来储存即将输入的一行文本,i表示输入的字符,num表示单词数,word表示是否该字符是单词,再定义一个字符数组c

第三步:若输入的过程中没有遇到终止符号,那么就继续输入,如果c=‘ ’时,令word=0,从而使num的数量增加,进而统计出这一行文本中的单词个数

2.流程图

f296f4699412ff66fe8c42f77b15a583.png

3.调试过程中的错误和解决办法

(1)调试过程中发现的错误

8eea4c432633211746377f0f0f7f586b.png

(2)解决办法

对于新学习的一维数组的知识掌握不牢,没有正确的输入,忘记输入“;”,输入之后问题就解决了。

PTA第五次作业

7—3 交换最大值和最小值

一.程序代码

#include

int main(void)

{int n,i,max,min,c,a[10],d,e;

scanf("%d",&n);for(i=0;i

scanf("%d",&a[i]);

}

max=min=a[0];for(i=0;i

min=a[i];

c=i;

}

}

d=a[0];

a[0]=min;

a[c]=d;for(i=0;i=max){

max=a[i];

c=i;

}

}

e=max;

a[c]=a[n-1];

a[n-1]=e;for(i=0;i

printf("%d",a[i]);return 0;

}

二.设计思路

1.文字描述

第一步:编译预处理命令,定义主函数

第二步:定义变量,用n表示要输入的数字,用i表示数所在的位置,max表示最大值,min表示最小值,在定义一个一维数组a

第三步:先将数组中的第一个数作为最大(小)值,找最小值,找最大值,然后进行分别与第一个数和最后一个数的替换,依次按顺序输出N个数,这样便可以将这组数中的最大值和最小值进行交换了。

2.流程图

e061281691f3b16d77f5ad0a23cc5cd2.png

3.

调试过程中的问题和解决办法

(1)调试过程中的问题

5df8670f39dc2982597dc93e57ef1fb3.png

(2)解决办法

编译过程中没有实质性的错误,但是没有得出题目要求的结果,后来发现了原来是因为在数据赋值的过程中没有加入for循环语句(即for(i=0;i

三.总结和学习进度条

1.

(1)学习的内容:for 语句,while语句,break语句,scanf语句,字符型数据,switch语句,一维数组,二维数组,字符串

(2)遇到的问题:语句使用过程中有时会有逻辑上的错误,还有语句运用上的问题以及少量的输入错误和语法错误

(3)解决办法:上课认真听老师讲的知识点,做好笔记,将老师讲的重点标记在书上,在下课的时候及时复习,巩固一天学习的内容。再结合MOOC网站上的课程,对于自己掌握不好的知识点,进行反复的观看和琢磨,加深印象。如果对于一些编程上的问题。我会吸取别人在编程上的方法,还有在流程图上绘制方法,并且配合着与同学讨论来解决问题。

2.点评三个同学的本周作业

3.

(1)代码行数、博客园字数和时间

aab13e195e91787dd97420259d409724.png

(2)折线图

49515f77389569b084c1a0b9b252dafe.png

(3)涉及的知识点

for 语句,while语句,break语句,scanf语句,switch语句,一维数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值