C语言基础第五次作业

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

1.实验代码

 

 1 #include <stdio.h>
 2 int main()
 3 {
 4     char a;
 5     int cnt=0,countword=0;
 6       while(1){
 7           scanf("%c",&a);
 8         if(a=='\n'){    
 9             break;
10         }else if(a!=' '){
11             if(a>='a'&&a<='z'||a>='A'&&a<='Z'||a>='0'&&a<='9')    {
12                 countword++;   
13                 cnt++;
14             }
15                 while(1){
16                     scanf("%c",&a);
17                     if(a==' '||a=='\n'){
18                         break;
19                     }
20                     cnt++;
21                 }
22             if(cnt>1){
23                 if(a>='a'&&a<='z'||a>='A'&&a<='Z'||a>='0'&&a<='9')    countword++; 
24             }
25             if(a=='\n'){
26                 break; 
27             }
28         } 
29     }
30       printf("%d",countword);
31     return 0;
32 }

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

 1 #include<stdio.h>
 2 #define N 10
 3 int main()
 4 {    
 5   int i, x, n;    
 6   int min, max;    
 7   int p, q, temp;    
 8   int a[N];    
 9   scanf("%d", &n);    
10   for (i = 0; i < n; i++){        
11     scanf("%d", &a[i]);    
12     }
13     min = a[0];    
14     for (i = 0; i < n; i++)    {        
15       if (min >= a[i])        
16       {            
17         min = a[i];            
18         p = i;        
19       }    
20       
21     }
22     temp = a[0];    
23     a[0] = a[p];    
24     a[p] = temp;
25     max = a[0];    
26     for (i = 0; i < n; i++)    {        
27       if (max <= a[i]){            
28         max = a[i];            
29         q = i;        
30         
31       }    
32       
33     }
34     temp = a[n - 1];    
35     a[n - 1] = a[q];    
36     a[q] = temp;    
37     for (i = 0; i < n; i++)    {    
38       printf("%d ", a[i]);
39       }    
40       return 0;
41   
42 }

 

2 设计思路

(1)文字描述,主要描述题目算法。

7-2、

第一步:定义字符型变量a和整型变量cnt,countword.

第二步:输入a

第三步:用if-else和while循环判断单词的个数

第四步:输出countword。

7-3、

第一步:定义变量min,max等和定义数组a[N].

第二步:输入n,a[N],

第三步:使用for循环和if语句

第四步:输出数组a[N].

(2)流程图

7-2、

 

 

 

7-3、

 

 

3.本题调试过程碰到问题及解决办法

 7-2:

 

问题:对getchar()的用法错误

解决方法:把a=getchar();去掉把scanf()放入while循环中去。

 

7-3:

 

 问题:定义数组出问题。

解决方法:把n改成10.

二、总结和学习进度条

1、总结这几周所学内容、遇到的问题以及解决方法。

 对新学的数组不够充分理解,应多加学习。

2、点评3个同学的本周作业(在作业中给出被点评同学博客的超链接!超链接!),并邀请3名同学点评你的作业,无点评作业倒扣该题分数。

 1.于海龙的第五次作业链接

 2.李呈祥的第五次作业链接

 3.沈峰的第五次作业链接

3、请用表格和折线图呈现你这几周的代码行数和时间、博客字数和时间、涉及的知识点。

  周一 周二 周三 周四 周五
代码行数  20  10  34  17  89
博客字数  106  0  21  69  23
涉及的知识点数  6  0  4  3  15

                                                               

 

posted on 2018-12-22 16:51  浅凝半夏。  阅读(183)  评论(2编辑  收藏  举报

导航