一个关于指针的有关问题(新手求教)
一个关于指针的问题(新手求教)
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个对换,要求用三个函数来写
要求用指针方法处理。
求指教,
下面的程序有错允许不了。。求解,谢谢
------解决方案--------------------
一时半会还真看不出来,哦,
------解决方案--------------------
修改后没测试:
------解决方案--------------------
与其修改,不如直接指出原程序中的错误,我在想,他的程序错在哪呢?
------解决方案--------------------
input()函数这句话错了。
scanf("%d",a[0]);
------解决方案--------------------
牛逼
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个对换,要求用三个函数来写
要求用指针方法处理。
求指教,
下面的程序有错允许不了。。求解,谢谢
#include<stdio.h>
void input(int a[],int *pmax,int *pmin)
{
printf("请输入10个整数:\n");
int i;
scanf("%d",a[0]);
*pmax=*pmin=a[0];
for(i=1;i<10;i++)
scanf("%d",&a[i]);
}
void chang(int *pmax,int *pmin,int a[])
{
int i,t1,t2;
for(i=0;i<10;i++)
{
if(*pmax<a[i])
{
*pmax=a[i];
t1=i;
}
if(*pmin>a[i])
{
*pmin=a[i];
t2=i;
}
}
a[t1]=a[9];
a[9]=*pmax;
a[t2]=a[0];
a[0]=*pmin;
}
void output(int a[])
{
int i;
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
int main(void)
{
int max,min;
int a[10];
input(a,&max,&min);
chang(&max,&min,a);
output(a);
return 0;
}
------解决方案--------------------
一时半会还真看不出来,哦,
------解决方案--------------------
修改后没测试:
#include<stdio.h>
void input(int a[],int *pmax,int *pmin)
{
printf("请输入10个整数:\n");
int i;
scanf("%d",&a[0]);
*pmax=*pmin=0;
for(i=1;i<10;i++)
{
scanf("%d",&a[i]);
if(a[i]>a[*pmax])*pmax=i;
if(a[i]<a[*pmin])*pmin=i;
}
}
void chang(int a[]int pmax,int pmin)
{
int temp;
temp=a[0];
a[0]=a[pmin];
a[pmin]=temp;
temp=a[pmax];
a[pmax]=a[9];
a[9]=temp;
}
void output(int a[])
{
int i;
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
int main(void)
{
int max;
int min;
int a[10];
input(a,&max,&min);
chang(a,max,min);
output(a);
return 0;
}
------解决方案--------------------
与其修改,不如直接指出原程序中的错误,我在想,他的程序错在哪呢?
------解决方案--------------------
input()函数这句话错了。
scanf("%d",a[0]);
------解决方案--------------------
牛逼