C语言第五次作业

统计一行文本的单词数

#include<stdio.h>

int main(void)
{
    char string[10000];
    int i,num=0,word=0; 
    char c;
    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、文字描述

(1)定义i,num,word;

(2)判断是否为‘ ’符号;

2、流程图

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

 

错误原因:for后面括号中要用“;”而不是“,”。

交换最小值和最大值

#include <stdio.h>

main()

{

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

    scanf("%d",&n);

    for(i=0;i<n;i++)

    {

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

    }

    min=max=a[0];

    for(i=0;i<n;i++)

    {

        if(a[i]<=min)

          {

              min=a[i];

              j=i;

          }

    }

    c=a[0];

    a[0]=min;

    a[j]=c;

    for(i=0;i<n;i++)

    {

        if(a[i]>=max)

          {

              max=a[i];

              j=i;

          }

    }

    d=max;

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

    a[n-1]=d;

    for(i=0;i<n;i++)

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

}

 设计思路

1、文字描述

(1)定义n,i,a[10],c,d,min,max,j;

(2)通过与第一个输入的值比较找出max,min;

(3)最小值与第一个数交换,然后将最大值与最后一个数交换;

2、流程图

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

错误分析:一维数组中第一个数的位置为a[0],所以程序中for判断的应该是i<n。

 这周学习的内容:一维数组,二维数组;在初学时理解起来有点困难,但通过实际操作后慢慢能理解。

作业点评:肖晨东作业点评唐卫栋作业点评常文乾作业点评

posted on 2018-12-23 17:13  七月的长安  阅读(183)  评论(2编辑  收藏  举报

导航