| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 453 人关注过本帖
标题:反序输出,出大问题了,实在是迷糊
只看楼主 加入收藏
huxiangwenhu
Rank: 4
等 级:业余侠客
威 望:1
帖 子:191
专家分:262
注 册:2010-6-1
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:7 
反序输出,出大问题了,实在是迷糊
这个反序调换出什么问题了
#include<stdio.h>
#include<stdlib.h>
#define N 6
int  main()
{      void sort (char a[N]);
       char c[N],temp;
        for(int i=0;i<N;i++)
       scanf("%c",&c[i]);  /* 输入五个字母*/
       for(i=0;i<N;i++)
        {   
            temp=c[i];
            c[i]=c[N-i-1];
            c[N-i-1]=temp;
        }
        for(i=0;i<N;i++)
            printf("%c",c[i]);
            
}
搜索更多相关主题的帖子: 输出 
2010-06-19 15:17
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:6 
       for(i=0;i<N;i++)
        {   
            temp=c[i];
            c[i]=c[N-i-1];
            c[N-i-1]=temp;
        }
这个循环明显达不到目的。for(i=0;i<N/2;i++)

★★★★★为人民服务★★★★★
2010-06-19 15:34
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:10 
#include<stdio.h>
#include<stdlib.h>
#define N 10
int  main()
{      void sort (char a[N]);
       char c[N],temp;
       int i;
       for(i=0;i<N;i++)
       scanf("%c",&c[i]);   /* 输入五个字母*/
       for(i=0;i<N/2;i++)// 这里除个2就行了!
        {   
            temp=c[i];
            c[i]=c[N-i-1];
            c[N-i-1]=temp;
        }
        for(i=0;i<N;i++)
            printf("%c",c[i]);
            
}

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-19 15:44
huxiangwenhu
Rank: 4
等 级:业余侠客
威 望:1
帖 子:191
专家分:262
注 册:2010-6-1
收藏
得分:0 
回复 3楼 myhnuhai
我好像想到了什么,如果说不除2的话,就会再一次重新换位,返回原值了,对吗?
2010-06-19 15:51
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
收藏
得分:2 
程序代码:
#include<stdio.h>
#include <stdlib.h>
#define N 6
int main()
{
void sort (char a[]);//不必写N,没用,当然写了也不会影响结果
       char c [N];
       scanf("%s",c);  /* 输入五个字母*/
       sort (c);//如楼上所说,改为c,因为函数需要传一个数组,若写c[N],首先c[6是char,其次是越界的……
       //printf("\0");//这一句没用,删掉
       printf("%s",c);

        system("pause");
}
void sort (char a[]) //不必写N,没用,当然写了也不会影响结果
{
   int i;
   char temp;
   for(i=0;i<(N-1)/2;i++)//必须从0循环到字符串长度的一半(但是字符串长度为N-1),因为最后有一个\0,不能排序
  { temp=a[i];
   a[i]=a[N-2-i]; //这两个数下标之和应为字符串长度(N-1)减一,即(N-2)
   a[N-2-i]=temp;}
  

}
你好像问了别人的问题啊~
2010-06-19 17:23
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:0 
回复 4楼 huxiangwenhu
嗯又换回去了!

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-19 17:27
huxiangwenhu
Rank: 4
等 级:业余侠客
威 望:1
帖 子:191
专家分:262
注 册:2010-6-1
收藏
得分:0 
回复 5楼 heartnheart
恩,因为搞不懂,所以拿来贴,呵呵
2010-06-19 18:40
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:2 
回复 楼主 huxiangwenhu
说说你要实现的功能吧 。

南国利剑
2010-06-19 18:45
快速回复:反序输出,出大问题了,实在是迷糊
数据加载中...
 
   



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

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