第二次作业

作业要求:https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_4/homework/2502

 

一·函数6-3数字金字塔

    1.实验代码

void pyramid( int n )
{    
  int row, col;  
  for (row = 1; row <= n; row++)
  {
        for (col = 1; col <= n-row; col++)
        {
            printf(" ");
        }      
        for (col = 1; col <= row; col++)
        {
            printf("%d ", row);
        }        
        putchar ('\n');   
    }
}

    2.设计思路

      (1)文字描述:

              函数声明,然后定义;

              然后需要输出的行数;

              输出每行左边的空格;

              输出每行的数字;

       (2)流程图:

          

       (3).调试过程;

   

         

 

    (4).解决:

      j<=n-1,而不是n。

二.数组一7-2

 1.实验代码:

#include<stdio.h>
main()
{
    int a[10], b[10], i, j, n, count = 0;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);
    }
    for (j = 0; j < n - 1; j++)
    {
        b[j] = a[count + 1] - a[count];
        count++;
    }
    count = 0;
    for (j = 0; j < n - 1; j++)
    {
        if (j == 0)
        {
            printf("%d", b[0]);
        }
        else if (count == 3)
        {
            printf("\n");
            printf("%d",b[j]);
            count = 0;
        }
        else {
            printf(" %d", b[j]);
            
        }
        count++;
    }
}

 2.设计思路

 (1)文字描述

     定义i, n, cnt = 0
输入n,然后设置for循环输入数组
利用a[i] = a[i + 1] - a[i]计算后项减前项之差
每行三个元素的格式cnt == 3,
cnt循环;
(2)流程图

(3)

(4)

将n改为10即可

.数组二7-3

1.实验代码

#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   int number[1000];
   int i,j,n;
   int temp;
   scanf("%d",&n);
   for(i=0;i<=n-1;i++)
        scanf("%d",&number[i]);
   for(i=2;i<=n;i++)
    for(j=0;j<=n-i;j++){
       if(number[j]>number[j+1]){
           temp=number[j];
           number[j]=number[j+1];
           number[j+1]=temp;
       }
 
   }
  int count=0;
  int count1=0;
  int flag=0;
  if(n>1){
 
  for(i=0;i<=n-2;i++){
      count1=1;
      while(number[i+1]==number[i]){
          i++;
          count1++;
      }
      if(count1>count){
          flag=number[i-1];
          count=count1;
      }
 
 
  }
      printf("%d %d\n",flag,count);
}
  else if(n==1)
     printf("%d %d\n",number[0],1);
 
   return 0;
}

  2 设计思路

   (1)文字描述

             定义数组a[i],b[i]

             输入n个数,a[j]为最多的数,利用for循环输出最多的值,再利用for循环求出b[i]次数

     (2)流程图

没有多次循环

  (4)解决方法

         在if(b[i] > max)前加一个for循环,以输出最多项次数。

四 .总结

 这段时间学了函数和数组,对于数组还是有很多的问题,但还是会多看资料多问老师去解决这些问题。

不过收获还是很大的,学会了定义函数 储存数据

 (2)点评。

    韩佳勒

    赵豪

    张学健

 (3)表格

周数
此周代码行数/行 码代码所用时长/h 所写博客字数/字 写博客所用时长/h
   第14周 1500 2 0 0
第15周 1500 2 0 0
第16周 1200 1.5 0 0
第17周 1700 2.5 3000 3

 

   折线图

 

posted @ 2018-12-21 17:53  今天依旧很帥  阅读(119)  评论(1编辑  收藏  举报