3个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
#define N 10
void main( )
{
int i,j,temp;
int data[N];
printf("请输入%d个数据:\n",N);
for(i=0;i<N;i++)
scanf("%d",data+i);//指针data+i即为data[i]的地址
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
if(data[i]>data[j])
{
temp=data[i];
data[i]=data[j];
data[j]=temp;
}
printf("由小到大排序为:\n");
system("pause");
for(i=0;i<N;i++)
printf("%d ",*(data+i));//此处为指针与数组的等效变换,*(data+i)即为data[i]。
printf("\n");
}
#include <stdlib.h>
#define N 10
void main( )
{
int i,j,temp;
int data[N];
printf("请输入%d个数据:\n",N);
for(i=0;i<N;i++)
scanf("%d",data+i);//指针data+i即为data[i]的地址
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
if(data[i]>data[j])
{
temp=data[i];
data[i]=data[j];
data[j]=temp;
}
printf("由小到大排序为:\n");
system("pause");
for(i=0;i<N;i++)
printf("%d ",*(data+i));//此处为指针与数组的等效变换,*(data+i)即为data[i]。
printf("\n");
}
追问
这是升序啊,用冒泡法降序呢?
追答
if(data[i]>data[j])改为if(data[i]<data[j])就行了
展开全部
对不起啊!刚下线了~~
#include<stdio.h>
main()
{int a[10],i,j,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=1;j<10;j++)
for(i=0;i<10-j;i++)
if(a[i]<a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;}
for(i=0;i<10;i++)
printf("%-3d",a[i]);
}
#include<stdio.h>
main()
{int a[10],i,j,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=1;j<10;j++)
for(i=0;i<10-j;i++)
if(a[i]<a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;}
for(i=0;i<10;i++)
printf("%-3d",a[i]);
}
来自:求助得到的回答
本回答被提问者采纳
22
已赞过
已踩过<
评论
举报
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询