永发信息网

c语言问题试设计一个算法,将A[0..n-1]中所有奇数移到偶数之前。我写的代码。老是报错,求高手解答。

答案:3  悬赏:60  手机版
解决时间 2021-11-11 01:25
c语言问题试设计一个算法,将A[0..n-1]中所有奇数移到偶数之前。我写的代码。老是报错,求高手解答。
最佳答案
#include 
#include 
#include 

#define LIST_INIT_SIZE  100
#define LISTINCREMENT 10
#define OK 0
#define OVERFLOW -1

typedef int ElemType;
typedef struct node {
ElemType *elem;
int listsize;
}*SqList,Node;

SqList InitList() {
SqList head = (Node *)malloc(sizeof(Node));
head->elem = (ElemType *)malloc(LIST_INIT_SIZE * sizeof(ElemType));
if(!head->elem) exit(OVERFLOW);
head->listsize = LIST_INIT_SIZE;
for(int i = 0;i < head->listsize;i++) head->elem[i] = rand()%100 + 1;
return head;
}

void Handle(SqList head) {
int t,i = 0,j = head->listsize - 1;
while(i < j) {
while(head->elem[i]%2 == 1) ++i;
while(head->elem[j]%2 == 0) --j;
t = head->elem[i];
head->elem[i] = head->elem[j];
head->elem[j] = t;
}
}

void DisList(SqList head) {
int i;
for(i = 0; i < head->listsize; ++i) {
if(i && i % 10 == 0) printf("
");
printf("%3d ",head->elem[i]);
}
printf("
");
}

int main() {
SqList head = InitList();
srand(time(NULL));
printf("整理前:
");
DisList(head);
Handle(head);
printf("
整理后:
");
DisList(head);
free(head->elem);
free(head);
return 0;
}
全部回答
for(k=100;k<51;k--)这个条件没法成立啊 --> for(k=99;k>=51;k--)追问还是不对啊,老是报这俩错。
1.cpp(9) : error C2143: syntax error : missing ';' before ''
1.cpp(9) : fatal error C1004: unexpected end of file found
没调过,但大部分帮你改过来了,应该没大错误了,你稍微看看应该能搞定了!话说,你写的代码真的很难读,得注意。还有尽量不要传递引用,改用指针。and申请了内存用完要释放!!!
#include
#include
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef int ElemType
#define OK 0
#define OVERFLOW 0

typedef struct
{
ElemType * elem;
int listsize;
}SqlList;

int InitList(SqlList &L)
{

L.listsize=LIST_INIT_SIZE;

for(int=0;i {
L.elem[i]=i;
}
return OK;
}
int PaiXu(SqlList &L)
{
int i,k,temp;
for(i=0;i {
if(L.elem[i]%2==0)
{ for(k=L.listsize-1;k>L.listsize/2-1;k--)
{
if(L.elem[k]%2==1)
{
temp=L.elem[i];
L.elem[i]=L.elem[k];
L.elem[k]=temp;
}
}
}
}
return Ok;
}

void DisList(SqlList &L)
{
int i=0;
while(L.elem[i])
{
printf("%n",L.elem[i]);
i++;
}
}

void main()
{
SqlList L;
L.elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L.elem)
exit(OVERFLOW);
InitList(L);
PaiXu(L);
DisList(L);
if(L.elem!=NULL)
free(L.elem);

}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
美国纽约位于哪个海岸线
中堡中学地址有知道的么?有点事想过去!
三相电机3.6a和5.6a有什么区别
总线结构可以划分成哪些类型
前面含有闷闷的词语10个
小龙虾晚上几点好捕捉
vivox3v和x3l的屏幕是一样的吗
jiao第四声 qiang第二声的字怎么写
“清风拂杨柳,细雨打莲蓬”是哪首诗?
广东云成市优速快递
“我的电脑”里面多出一个带红色问号的“本地
入职保险公司!会查真假学历吗
史泰龙在洛奇拳击里练习速度的东西叫什么
建立感情账户有哪些方式方法和依据
宿州东站和宿州火车站分别怎么去新汽车站,就
推荐资讯
想发一些通知给公司的员工,平时的工作等,不
乐涂美术书法地址在什么地方,想过去办事,
码字用五笔怎么打
A Transition point in my life 课文复述 120
灰泰迪和灰色泰迪配!生出来一只白色,两只灰
华南理工大学在南昌设考点的考试内容及要求
This morning I tried on some coats in the
桶装水会计分录能计入水电费吗
康熙王朝上孝庄死了康熙为什么不穿孝衣
请问立白大厦功能很多吗
夯实基础,蓄势待发什么意思
一家网店卖金士顿DDR3 1600/兼容1333mhz
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?