#include<stdio.h>
int main()
{
int a[10],*p,i,t,j;
for(i=0;i<10;i++)
scanf("%d",a[i]);
for(j=0;j<9;j++)
{
for(i=0;i<9-j;i++)
{
if(a[i]>a[i+1])
t=a[i];a[i]=a[i+1];a[i+1]=t;}}
for(p=a;p<(a+10);p++)
printf("%d ",*p);
}
C语言用指针对10个整数排序帮我改下
答案:2 悬赏:50
解决时间 2021-02-01 03:03
- 提问者网友:先森请一心
- 2021-01-31 22:12
最佳答案
- 二级知识专家网友:一起来看看吧
- 2021-01-31 23:08
#include<stdio.h>
int main()
{
int a[10],*p,i,t,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);//加&取地址。
for(j=0;j<9;j++)
{
for(i=0;i<9-j;i++)
{
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}//缺{
}
}//for循环在这里结束。
for(p=a;p<(a+10);p++)
printf("%d ",*p);
}
int main()
{
int a[10],*p,i,t,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);//加&取地址。
for(j=0;j<9;j++)
{
for(i=0;i<9-j;i++)
{
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}//缺{
}
}//for循环在这里结束。
for(p=a;p<(a+10);p++)
printf("%d ",*p);
}
全部回答
- 1楼网友:劳资的心禁止访问
- 2021-01-31 23:53
k=j没问题,问题在别的地方
void inv(int * x,int n)
{
int * i,* j,* k,temp;
for(i=x;i {
k=i;
for(j=i+1;j<(x+n);j++) //j=i+1不是x+1
if(* j>* k) k=j;//问题处
if(k!=i)
{temp=* k;* k=* i;* i=temp;} //这里交换k,i指向的值,不是j指向的值
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯