编程总结 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
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。
输入格式:
输入在第一行中给出一个正整数n(1<n≤10)。第二行输入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,导致答案错误。