标题:排序问题
只看楼主
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
 问题点数:0 回复次数:2 
排序问题

#include<stdio.h>
#include<string.h>
//将输入的字符串a,将所有偶数项按下标从大到小放在a的后半部分,
//将所有奇数项按下标从小到大放在a的前半部分,输出a;
//如asdf变为adfs
//请问我的程序为什么不到达到要求?
main()
{
int i,j,n,m;
char a[10],b[10],d[10];
j=0;

gets(a);
n=strlen(a);

for(i=0;i<n;i=i+2){//奇数项
b[j]=a[i];
j++;
}

m=strlen(b);

puts(b);


j=0;
for(i=1;i<n;i=i+2){//偶数项
d[j++]=a[i];
}

m=strlen(d);

for(i=m-1;i>=0;i--)
putchar(d[i]);

}

搜索更多相关主题的帖子: include 字符串 
2007-08-22 18:37
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
得分:0 

#include<stdio.h>
#include<string.h>
//将输入的字符串a,将所有偶数项从大到小放在a的后半部分,
//将所有奇数项从小到大放在a的前半部分,输出a;
//如asdf变为adfs
//请问我的程序为什么不到达到要求?
main()
{
int i,j,n,m;
char a[10],b[10],d[10];
j=0;

gets(a);
n=strlen(a);

for(i=0;i<n;i=i+2){//奇数项
b[j]=a[i];
j++;
}

m=j;
for(i=0;i<m;i++)
putchar(b[i]);

j=0;
for(i=1;i<n;i=i+2){//偶数项
d[j++]=a[i];
}

m=j;
for(i=m-1;i>=0;i--)
putchar(d[i]);

}

这个程序可以达到目的.但我不明白为什么输入asdf后在高度调试时
m=strlen(b);为什么是16?



一分耕耘,一分收获。
2007-08-22 18:42
zzxwill
Rank: 1
等 级:新手上路
帖 子:398
专家分:0
注 册:2007-8-15
得分:0 

没加上'\0';


一分耕耘,一分收获。
2007-08-23 09:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-164667-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.114895 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved