编程总结 7.1


 

7-1 查找整数 (10 分)

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

输入格式:

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

输出格式:

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

代码

#include<stdio.h>
int main(void)
{
int i,flag,X,N;
int a [20];

scanf("%d %d",&N,&X);
for(i=0; i<N;i++)
scanf("%d",&a[i]);

flag= 0;
for(i=0;i<N;i++)
if(a [i]==X) {
printf("%d",i);
flag=1;
break;
}
if(flag==0)
printf("Not Found");

return 0;
}

思路:

这题是要在N个整数中找X,首先由题知道了数组长度为20,再定义i,N,X,输入N,X。定义了flag来假设有没有从N中找到x,如果找到为1,反之为0.

利用for语句还有if语句来确定N中的X。输出找到的值,如果没在输出英文,没找到。

截图:

这次编程由于是第一次作业,出现了编译错误等等,截图没来得及保存(怕丑)

 7.2

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

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

输入格式:

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

代码

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

return 0;
}

思路:本题要求在n个整数中找最大值首先定义i,index,n。定义数组a [10],利用for语句来输入这个数组的某个值,假设index=0,表示数组中的最大值。

然后通过for语句if语句一个个跟a [index]比较,如果这个i代表这个数组大于index,则把i赋值给index,再按照要求输出max

截图:

 

错误截图:

错误分析:忘记将之后的i赋值给index,导致答案错误。

 

posted @ 2019-03-03 15:41  4am_Godv  阅读(192)  评论(0编辑  收藏  举报