#includestdio.h
创新互联公司-成都网站建设公司,专注成都网站设计、网站建设、网站营销推广,域名与空间,虚拟空间,网站托管维护有关企业网站制作方案、改版、费用等问题,请联系创新互联公司。
void main()
{
int a[10],i,*p,m,t,max=-32767;
p=a;
for(i=0;i10;i++)
scanf("%d",p++);
for(i=0;i10;i++)
if(maxa[i])
{ max=a[i];
m=i;
}
t=a[m];
a[m]=a[9];
a[9]=t;
p=a;
for(i=1;i10;i++)
printf("%d",*p++);
}
从表面上看 void find (char name[][10],int number[],int k)这里name是字符型二维数组,
但是printf("%d\n",name[mid]);这里你是%d的格式输出,只是明显的问题。
如果这样还不能解决你的问题,请提供完整代码,谢谢!
希望对你有帮助。
你输入的是十个数,在控制循环中只输入了9个数, 输出中要有间隔,才能更清晰:
另外说一下,最好代码要规范一下:
#includestdio.h
int main()
{
void order(int a[10]);
int a[10],i;
printf("please input 10 numbers:\n");
for(i=0;i10;i++)////////////////9 to 10
scanf("%d",a[i]);
printf("output the numbers:\n");
order(a);
for(i=0;i10;i++)////////////////9 to 10
printf("%d ",a[i]);/////////////空格
printf("\n");
}
void order(int a[10])
{
int i,j,k;
for(i=0;i9;i++)
for(j=0;j9-i;j++)
if(a[j]a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
#include stdio.h
#include string.h
int scanf_arr(int arr[])
{
int i;
for (i=0;i10;i++)
{
scanf("%d",arr[i]);
}
return arr;
}
int main()
{
int arr[10],i;
scanf_arr(arr);
for (i=0;i10;i++)
{
printf("a[i]=%d\n",arr[i]);
}
return 0;
}
思路:定义一个函数int fun(int a[]),该函数通过传递的参数数组依次遍历,寻找最大值,最后返回最大值,主函数输入数组,调用该函数输出最大值。
参考代码:
#includestdio.h
#define n 10
int fun(int a[]){//求数组a的最大值函数
int i,max=a[0];
for(i=1;in;i++)
if(maxa[i]) max=a[i];
return max;
}
int main()
{
int a[n],i;
for(i=0;i10;i++)
scanf("%d",a[i]);
printf("数组最大值为%d\n",fun(a));
return 0;
}
/*
1 5 9 7 3 8 6 4 2 0
数组最大值为9
*/
#includestdio.h
#includestdlib.h
struct employee
{
char name[11];
int id;
};
void sortbyid(struct employee emps[])
{
int i,j;
struct employee e;
for(i=0;i9;i++)
{
for(j=9;j=i+1;j--)
{
if(emps[j].idemps[j-1].id)
{
e=emps[j-1];
emps[j-1]=emps[j];
emps[j]=e;
}
}
}
printf("按职工号升序排列后的职工信息:\n");
printf("\t姓名\t职工号\n");
for(i=0;i10;i++)
{
printf("\t%s\t%d\n",emps[i].name,emps[i].id);
}
}
void ban(struct employee emps[],int len,int id)
{
int find=0,low=0,high=len-1,mid;
while(low=high)
{
mid=(low+high)/2;
if(idemps[mid].id)
{
low=mid+1;
}
else if(idemps[mid].id)
{
high=mid-1;
}
else
{
find=1;
break;
}
}
if(find)
{
printf("找到了,职工号%d所对应的职工姓名是%s!\n",id,emps[mid].name);
}
else
{
printf("无此职工号!\n");
}
}
int main()
{
int i,id;
struct employee emps[10];
for(i=0;i10;i++)
{
printf("请输入第%d个职工的姓名、职工号(整数):",i+1);
scanf("%s %d",emps[i].name,emps[i].id);
}
sortbyid(emps);
printf("请输入要查找的职工的职工号:");
scanf("%d",id);
ban(emps,10,id);
return 0;
}