任意输入n个数,按由大到小排序输出!

yibank 2004-03-25 01:40:42
(要求:用数组)
...全文
2715 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
StarNCraft 2004-03-29
  • 打赏
  • 举报
回复
不是吧!你也真实在!
代码是让你明白原理!不是一定会通过的呀!
你试着看懂再自己写就通过了!
yibank 2004-03-29
  • 打赏
  • 举报
回复
各位大哥编译不通过啊!!
wodeyouxian 2004-03-29
  • 打赏
  • 举报
回复
我看写成这样行不行:

主函数中有一个小数组,另外可以自动开内存空间,可以调用一个冒泡排序的子函数

另写一个冒泡排序的子函数,这样就可以实现了他的全部要求吧??
mrubbish 2004-03-26
  • 打赏
  • 举报
回复
再给你一个!
void main()
{
int *arr,num=0,i=0,j=0,x=0;
printf("input the number:");
scanf("%d",&num);
arr = (int *)malloc(sizeof(int)*num);
for(i=0;i<num;i++)
{
printf("input the array[%d]:",i);
scanf("%d",arr+i);
}
for(i=0;i<num;i++)
{
for(j=i+1;j<num;j++)
{
if(*(arr+i) > *(arr+j))
{
x=*(arr+i);
*(arr+i)=*(arr+j);
*(arr+j) = x;
}
}
}
printf("the array after sort:");
for(i=0;i<num;i++)
printf(" %d ",*(arr+i));
free(arr);
}
UVWSYZ 2004-03-26
  • 打赏
  • 举报
回复
main()
{int a[32767]={0},i,n,t,k=0,m=0;
printf("Input shuzu geshu:n=");
scanf("%d",&n);
printf("\nshuzu:");
for(i=0;i>=0;i++)
{scanf("%d",&a[i]);
if(i==n) break;
}
for(i=0;i<=n;i++)
a[k]=a[0];
if(a[i]>a[k])
{t=a[k];a[k]=a[i];a[i]=t;
m=k;k=i;i=m;
}
printf("\npai xu:");
for(i=n;i>=0;i--)
printf("%d",a[i]);
getch();
}
黄有才 2004-03-25
  • 打赏
  • 举报
回复
#include"iostream.h"
#include"conio.h"

//----------------广东水学院---------//
void sort(int a[],int n)
{
int i,k;
int temp;
for(i=n-1;i>0;i--)
{
for(k=0;k<i;k++)
if(a[k]<a[k+1])
{
temp=a[k];
a[k]=a[k+1];
a[k+1]=temp;
}
}
}
//-------------c++程序--------//
void main()
{
int i,n;
int a[100];

cout<<"\n请输入 _n_ 个数\n";
cin>>n;
cout<<"\n请输入:\n";

for(i=0;i<n;i++)
cin>>a[i];

sort(a,n);

cout<<"\n排序后:\n";
for(i=0;i<n;i++)
cout<<a[i]<<" ";

getch();

}
yibank 2004-03-25
  • 打赏
  • 举报
回复
恳请那位教小弟一下
yibank 2004-03-25
  • 打赏
  • 举报
回复
上面的大哥好象都不对吧!!!
而且是要用(要求:用数组)
mrubbish 2004-03-25
  • 打赏
  • 举报
回复
#define num 5
void main()
{
int i=0,j=0,x=0,a[num]={0};
for(;i<num;i++)
{
printf("input the %d num: ",i);
scanf("%d",&a[i]);
}
for(i=1;i<num;i++)
{
for(j=0;j<i;j++)
{
if(a[i]>a[j])
{
x=a[i];
a[i]=a[j];
a[j]=x;
}
}
}
printf("the array after sort:");
for(i=0;i<num;i++)
printf(" %d ",a[i]);
}
Aofa_lee 2004-03-25
  • 打赏
  • 举报
回复
楼上的,他好象说的是任意输入n个数,但你写的是对10个数进行排序的啊!
要改一改才行!
mrubbish 2004-03-25
  • 打赏
  • 举报
回复
#define num 3
void main()
{
int i=0,j=0,x=0,a[num]={0};
for(;i<num;i++)
{
printf("input the %d num: ",i);
scanf("%d",&a[i]);
}
for(i=1;i<num;i++)
{
for(j=0;j<i;j++)
{
if(a[i]>a[j])
{
x=a[i];
a[i]=a[j];
a[j]=x;
}
}
}
printf("the array after sort:");
for(i=0;i<num;i++)
printf(" %d ",a[i]);
danpianji2002 2004-03-25
  • 打赏
  • 举报
回复
#include<iostream.h>
void main(void)
{
int a[10]={0};
for(int i=0;i<10;i++)
cin>>a[i];
for(int j=0;j<9;j++)
for(int k=0;k<9;k++)
if(a[k]<a[k+1])
{
int temp=a[k];
a[k]=a[k+1];
a[k+1]=temp;
}
for(int t=0;t<10;t++)
cout<<a[t];
}
冒泡 On^2
 本次课程会带着大家学习Hash算法,从源码的角度去学习算法,更加容易理解的方式去学习,能够更高效的吸收学到的内容,也能培养出能够独自看源码,分析源码的能力。Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。  哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映射到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。作为线性数据结构与表格和队列等相比,哈希表无疑是查找速度比较快的一种。  通过将单向数学函数(有时称为“哈希算法”)应用到任意数量的数据所得到的固定大小的结果。如果输入数据中有变化,则哈希也会发生变化。哈希可用于许多操作,包括身份验证和数字签名。也称为“消息摘要”。  简单解释:哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧