代码改变世界

第四次作业

2018-12-25 20:55  樊宇烽  阅读(1791)  评论(1编辑  收藏  举报

作业要求: https://www.cnblogs.com/ranh941/p/7999266.html

1.你观看了几个视频?给出观看列表截图

   共11个视频。

2.通过观看视频你学习到哪些知识点或者编程题目?

如何定义、使用数组;和一些函数。
3.对于所学知识点还有哪些疑问?有哪些知识点没有学会?

对选择排序法大致掌握,但对冒泡排序法还需加强练习。

第十六周:

本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。

输入格式:

输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。

输出格式:

在一行中输出X的位置,或者“Not Found”。

输入样例1:

5 7 3 5 7 1 9

输出样例1:

2

输入样例2:

5 7 3 5 8 1 9

输出样例2:

Not Found

一、实验代码

#include<stdio.h>
int main(void)
{
    int N,X,i;
    scanf("%d%d",&N,&X);
    int a[N];
    for(i=0;i<N;i++){
        scanf("%d",&a[i]);
        if(X==a[i]){
            printf("%d",i);
            break;
        }
        else if(i==N-1&&X!=a[i]){
            printf("Not Found");
        }
    }
    return 0;
}

二、解题思路

1.步骤

第一步:分析题意并定义四个变量N,X,i,定义一个数组a【N】。

第二步:输入一个正整数N和一个X。

第三步:利用for循环输入N个数,利用if条件语句判断是否为要找的数。

第四步:若存在要找的数则输出该数的位置;若不存在,则输出Not Found。

2.流程图

 

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

第十七周:

7-2 选择法排序 (20 分)

本题要求将给定的n个整数从大到小排序后输出。

输入格式:

输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。

输出格式:

在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。

输入样例:

4 5 1 7 6

输出样例:

7 6 5 1

一、实验代码

#include<stdio.h>
int main()
{
  int i,n,t,k,index;
  scanf("%d",&n);
  int a[n];
  for(i=0;i<n;i++){
    scanf("%d",&a[i]);
  }
  for(k=0;k<n-1;k++){
    index=k;
    for(i=k+1;i<n;i++){
    if(a[i]>a[index]){
      index=i;
    }
    }
    t=a[index];
    a[index]=a[k];
    a[k]=t;
  }
    printf("%d",a[0]);
    for(i=1;i<n;i++){
      printf(" %d",a[i]);
    }
  return 0;
}

 

二、解题思路

1.步骤

第一步:定义5个量i,n,t,k,index。定义一个能容纳十个数的数组。

第二步:输入n个数。

第三步:利用中间变量对这n个数比较大小,按从大到小排列。

第四步:输出这n个数。

2.流程图

 

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

 个人总结:在这两周的学习中  我学到了数组的相关知识,并可以将数组里的数据按照一定顺序排列。