2019学期第一周编程总结

7-1 查找整数 (10 分)

本题要求从输入的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
 
1)实验代码:
 

 

#include<stdio.h>
int main()
  {
     int n,x,a[20],c=0;
     scanf("%d%d",&n,&x);
     for(int i=0;i<n;i++)

     {
        scanf("%d",&a[i]); 
        if(x==a[i])
         {
             printf("%d",c);
             break;
         }
        c++;
     }
      if(c==n)
      printf("Not Found");
     return 0;
  }

2) 设计思路:整体运用数组(for循环)输入n个数,用if语句做判断找出所需要的数,用一个量计数并判断是否找到所需断的数

3)遇到的问题及其解决方法: 

4)运行截图

 

 

 

 

 

 

 

7-2 求最大值及其下标 (20 分)

本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

输入格式:

输入在第一行中给出一个正整数n(1<n10)。第二行输入n个整数,用空格分开。

输出格式:

在一行中输出最大值及最大值的最小下标,中间用一个空格分开。

输入样例:

6
2 8 10 1 9 10

输出样例:

10 2
 
作者: C课程组
单位: 浙江大学
时间限制: 400 ms
内存限制: 64 MB
代码长度限制: 16 KB

 1)实验代码

 

 

#include<stdio.h>
int main()
{
  int n,b,a[10],c=0;
  scanf("%d",&n);
  scanf("%d",&b);
  for(int i=0;i<n-1;i++)

   {
     scanf("%d",&a[i]);
     if(a[i]>b)

       {
         b=a[i];
         c=i+1;
       }
   }
  printf("%d %d",b,c);
  return 0;
}

 2)设计思路:找最大值问题,先输入一个数,再与for循环中输入的剩下的数比较,for循环中设置一个量计数来判断最大值的位置

 3)遇到的问题及其解决方法:怎样计数找准最大值的位置,我尝试了几次,最终发现可以用循环中的i通过计算得出,设置if

条件,当比较大小妹每变换一次,最大值得位置下标会着i变化

 4)运行截图

 

   

 

 

 

 

 

 

 

 

 

 

posted @ 2019-03-03 16:00  vfkjfdf  阅读(205)  评论(0编辑  收藏  举报