写一通用函数,该函数冲一个一维数组中寻找指定的一个数,若找到,返回该数在数组中的下标值,否则返回-1

如题 求详细的C语言编程 大一的知识来写

1.程序如下:
#include <stdio.h>
void main()
{  int a[100];
int i,n,m;
printf("请输入数组元素个数");
scanf("%d",&n);
   printf("请输入数组元素(各元素之间用enter键):");
   for(i=0;i<n;i++)
 scanf("%d",&a[i]);
printf("请输入要查找的数");
scanf("%d",&m);
for(i=0;i<=n;i++)
 if(a[i]==m)
  printf("该数的下标:%d\n",i);
  if(i>=n) printf("%d",-1);
}
2.程序如下:
#include<stdio.h>
#include<string.h>
void main()
{
void sort(char *name[],int n);
void print(char *name[],int n);
char *name[]={"Bejing","Shanghai","Shenzhen","Nanjing","Dalian","Qingdao"};
int n=6;
sort(name,n);
print(name,n);
}
void sort(char *name[],int n)
{
char *temp;
int i,j,k;
for(i=0;i<n-1;i++)
    {k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[k],name[j])>0)k=j;
if(k!=i)
{temp=name[i];name[i]=name[k];name[k]=temp;}
}
}
void print(char *name[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%s\n",name[i]);
}

追问

第一条我试过貌似不对,最后的输出返回-1为什么是无论找不找到都输出?还有各元素之间能不能用空格代替?

第一条我试过貌似不对,最后的输出返回-1为什么是无论找不找到都输出?还有各元素之间能不能用空格代替?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-24
int fun(int a[], int n, int x)//n为数组长度,x为指定的数
{
    int i;
    for(i=0;i<n;i++)
        if(a[i]==x) return(i);
    return(-1);
}

追问

这个我看不懂啊

相似回答