第五次博客园作业+

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解决方法;下阶段多多实践;

 

点评同学的作业:郭涵的作业   王萌的作业    常文乾的作业

代码行数,博客园字数,行数:

 

 

---恢复内容结束---

posted @ 2018-12-23 11:07  YZBPXX  阅读(200)  评论(3编辑  收藏  举报