题目:输入10个整数,保存在一个数组中,在数组中查找某个数,给出是否找到的信息。如果找到了,要求输出该数在数组中所处的位置;如果找不到,输出“没有找到!”。
解析:十个整数中可能有多个重复的数字,而且正是你要查找的,此时需要输出全部的位置,如果都查找了,没有找到的话就是没有找到。
#include <stdio.h>
int main(int argc,const char *argv[])
{
int a[10],i,n;
printf("请您输入10个整数:\n");
for (i=0;i<=9; i++) {
scanf("%d",&a[i]);
}
printf("请输入您要查找的数字:\n");
scanf("%d",&n);
for (i=0;i<=9;i++) {
if (a[i]==n) {
printf("该数在数组中所处的位置是第%d个数字\n",i+1); continue;
}
else if(i==9){
printf("没有找到!\n");
}
}
return 0;
}
第二种方法:(原理差不多)
#include <stdio.h>
int main(int argc,const char *argv[])
{
printf("请输入十个数字:\n");
int ary[10];
int search;
for (int i=0; i<10; i++)
{
scanf("%d",&ary[i]);
}
printf("请输入需要查找的数字:\n");
scanf("%d",&search);
//查找
int match=0;//设置变量判断是否曾经找到过
for (int i=0; i<10; i++)
{
if (ary[i]==search)
{
match = 1;
printf("在数组第 %d 个位置找到了元素 %d\n",i+1,search);
}
}
if (!match)
printf("在数组中没有找到匹配数字!\n");
return 0;
}