请教一道的编程题!

qpwo 2002-07-13 07:50:29
将n个数按输入时顺序的逆序排列。(用函数)
...全文
83 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
LeeMaRS 2002-07-13
  • 打赏
  • 举报
回复
这个小问题用链表来做就太过火了点了.
用数组就可以完成.
如果是从键盘上输入n的,就动态申请一块内存,就可以了.

qpwo 2002-07-13
  • 打赏
  • 举报
回复
高手高手!!
qpwo 2002-07-13
  • 打赏
  • 举报
回复
高手高手!!
dxj1113 2002-07-13
  • 打赏
  • 举报
回复
除了楼上几种解法外
是否可以考虑用链表解决
将每次新输入的数据插在最前面
可能麻烦点
但时间复杂度应该比较低
源代码就不写了
学过数据结构的都能写
liem 2002-07-13
  • 打赏
  • 举报
回复
看一段用递归的:
#include <iostream.h>
void main()
{
void rev(int);
rev(10);
}

void rev(int n)
{
int x;
cin>>x;
if(n==1) cout<<x<<'\t';
else
{
rev(n-1);
cout<<x<<'\t';
}
}
ynli2002 2002-07-13
  • 打赏
  • 举报
回复
看看这个(链表)


void CreateList(LinkList &L,int n) {
L =(LinkList)malloc(sizeof(LNode));
L->next=null;
for(i=n; i>0; --i) {
p =(LinkList)malloc(sizeof(LNode));
scanf(&p->data);
p->next = L->next;
L->next = p;
}
}

很经典,慢慢研究吧

softman_2000 2002-07-13
  • 打赏
  • 举报
回复
void Rev(int array[],int count)
{
int i = count/2;
int tmp;
int j;
for(j=0;j<i;i++)
{
tmp = array[j];
array[j] = array[count-i-1];
array[count-i-1] = tmp;
}
}
void main()
{
int arr[10];
int i;
for(i=0;i<10;i++)
{
scanf("%d",&arr[i]);
}
Rev(arr,10);
}
zhaobong 2002-07-13
  • 打赏
  • 举报
回复
#include<iostream>
#include<conio.h>

using namespace std;

void dev(int num)
{
if(num==0)
return;
else
{
cout<<num%10;
dev(num/10);
}

}
void main()
{
int num;
cout<<"input"<<endl;
cin>>num;

dev(num);
_getch();
}

kbsoft 2002-07-13
  • 打赏
  • 举报
回复
自定义函数吧,hehe
void main()
{
int n;
scanf("%d",&n);
Rev(n);
}

Rev(int n)
{
if(n%10==0) printf("%d",n);
else Rev(n/10);
}

69,369

社区成员

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

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