第五次博客园作业+
7-2判断单词个数:
#include<stdio.h> int main(void) { int flag=1,count=0; char c; while((c=getchar())!='\n'){ if(c=='\n') continue; if(c==' '){ if(flag==0){ count+=1; flag=1; } else; } else flag=0; } if(flag==0) printf("%d",count+1); else printf("%d",count); return 0; }
一设计思路
1:利用flag判断前者是否为连续空格;
2:结束时也同样用flag判断是否最后一个为单词;
二流程图:
三遇到的错误及解决办法:
这是逻辑错误,题目要求用换行符结束,我用的是点号结束。
7-3交换最大最小值:
#include<stdio.h> int main(){ int a[80],i,n,max,min,x,m; scanf("%d",&n); for(i=0;i<=n-1;i++) scanf("%d",&a[i]); max=min=a[0]; x=0; m=0; for(i=0;i<=n-1;i++) if(max<a[i]) { max=a[i]; x=i; } a[x]=a[n-1]; a[n-1]=max; for(i=0;i<=n-1;i++) if(min>a[i]){ min=a[i]; m=i; } a[m]=a[0]; a[0]=min; for(i=0;i<=n-1;i++) printf("%d ",a[i]); return 0; }
一 设计思路:
1:取得最小最大值下表;
2:用记录的下表交换;
二流程图:
遇到的问题及解决办法:
我把最大值和最小值都放在了最后交换,这就导致了重复交换,最大值交换将最小值记住的下标换了;我的解决办法是运行一遍找出最大值下标交换在找最小值下表交换;
三总结和学习进度条:
1内容:这几周我主要学习了数组,数组是地址固定的一种类型,它对于同一类型的数字来说大大减少了工作量;
2问题;因为后面学习的主要是理论知识缺少练习,所以感觉掌握的不是很牢固;且一些逻辑问题很难找出当然这也是最锻炼我们的方法;
3解决方法;下阶段多多实践;
代码行数,博客园字数,行数:
---恢复内容结束---