| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 363 人关注过本帖
标题:可以帮忙看看这个关于字符串的代码哪错了吗
只看楼主 加入收藏
正版索粒
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-12-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
可以帮忙看看这个关于字符串的代码哪错了吗
把偶数长度的字符串前半部分降序排序 后半部分升序排序 交换前后部分再输出 例如 输入abcd9876 输出6789dcba
#include <stdio.h>
#include <string.h>

int main()
{
    char a[100],temp;
    int i,n,j;
    scanf("%s",a);
    n=strlen(a);
    char a1[n],a2[n];
    if(strlen(a)%2==0)
    {
        for(j=0;j<n/2-1;j++)
           for(i=0;i<n/2-1-j;i++)
              if(a[i]<a[i+1]){temp=a[i];a[i]=a[i+1];a[i+1]=temp;}
        for(j=0;j<n/2-1;j++)
           for(i=n/2;i<n-1-j;i++)
              if(a[i]>a[i+1]){temp=a[i];a[i]=a[i+1];a[i+1]=temp;}
        for(j=0;j<n/2;j++)a1[j]=a[j];
        for(i=n/2,j=0;i<n;i++,j++)a2[j]=a[i];
        printf("%s\n",a1);
        printf("%s\n",a2);
        printf("%s",strcat(a2,a1));
    }
    return 0;
}
我这个输出总是6789?@dcba?@
求解救T T


[ 本帖最后由 正版索粒 于 2014-12-4 20:54 编辑 ]
搜索更多相关主题的帖子: include 字符串 
2014-12-04 20:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
char a1[100]={'\0'};
char a2[100]={'\0'};

首先   char a1[n],a2[n]; 这样定义是不可以的   
其次   申请到的数组需要初始化  否则在你字符串结束后 手工添加一个'\0' 亦可

DO IT YOURSELF !
2014-12-05 08:24
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:10 
回复 2 楼 wp231957
char a1[n],a2[n];这样的定义,不是一定不可以的,得看编译器遵循的C标准时什么
如果编译器遵循的是C99以前的标准,那确实时不可以的。
但如果编译器遵循C99以及以后的标准的话,就可以了。
从C99后编译器添加了这种特性,这个叫可变数组(VLA),也就是说,数组的长度可以在执行时确定,而不是非得要在编译时确定。
2014-12-05 17:41
正版索粒
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-12-4
收藏
得分:0 
回复 2 楼 wp231957
我修改了 好像还是有问题 运行不了
显示是 ||=== Build: Debug in ac (compiler: GNU GCC Compiler) ===|
ld.exe||cannot open output file bin\Debug\ac.exe Permission denied|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|


[ 本帖最后由 正版索粒 于 2014-12-6 22:44 编辑 ]
2014-12-06 22:39
快速回复:可以帮忙看看这个关于字符串的代码哪错了吗
数据加载中...
 
   



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

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