蒹葭微青

导航

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
实验代码
#include<stdio.h>

int main(){
        
                int n,x,a[20];
                int i=0;
                scanf("%d %d",&n,&x);
                for( i=0 ; i<=n;i++){
        
        if(a[i]!=x)
                {       
        printf("Not Found\n");break; 
        }
}
                return 0;               
}

设计思路

本题调试过程中遇到的问题及错误截图

遇到的问题及解决:第一次错误发先自己阅读题目不仔细,忘记题目要求没空格,改了之后运行发先部分正确,请教同学之后,发现自己少考虑了一种情况

运行结果截图

题目2

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

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

输入格式:

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

输出格式:

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

输入样例:

6
2 8 10 1 9 10

输出样例:

10 2
实验代码
#include<stdio.h>
int main()
{
    int i, x, n;
    int a[10];
    
    scanf("%d", &n);
    for(i=0; i<n; i++){
        scanf("%d", &a[i]);
         x=0;
      }
         
    for(i=1; i<n; i++){
        if(a[i]>a[x]){
            x=i;
            printf("%d %d", a[x], x);
          }
    }
            
    return 0;
}

设计者思路

 

调试过程中遇到的问题截图及解决方法

 

 

遇到的问题及解决:少考虑了一种情况,导致运行超时,并且忘记跳出循环了,到群里和大佬交流了我的思路,他说出我的代码的漏洞,定义变量不对,取地址符忘记打了

运行截图

 

posted on 2019-03-04 16:35  蒹葭微青  阅读(144)  评论(1编辑  收藏  举报