| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6735 人关注过本帖
标题:C语言 字符串逆序存放并输出,运行出错,
只看楼主 加入收藏
t347938670
Rank: 1
等 级:等待验证会员
帖 子:8
专家分:0
注 册:2012-12-22
收藏
 问题点数:0 回复次数:18 
C语言 字符串逆序存放并输出,运行出错,
#include<stdio.h>
#define N 100
main()
{
    int m,n,e;
    char c[N],f;
    printf("请输入您要输入的字符串的个数(小于100个):");
    scanf("%d",&e);
    printf("请输入字符串用空格隔开\n请不要超出您输入的范围:");
    for(m=0;m<=e;m++)
        scanf("%s",&c[m]);
    for(m=0,n=e;m<n;m++,n--)
    {
        f=c[m];
        c[m]=c[n];
        c[n]=f;
    }
    for(m=0;m<=e;m++)   
    printf("%s\n",c[m]);
}
可能是输入那块出的问题,运行出错,求解,感激不尽
我只学了数组,指针还没学,,函数刚开头


我想要这样的效果

输入     ab bc cd de ef
输出     ef de cd bc ab   
     是字符串之间的逆序存放, 字符串本身不变。
这样要怎么改呢?

[ 本帖最后由 t347938670 于 2012-12-22 15:57 编辑 ]
搜索更多相关主题的帖子: include 字符串 C语言 
2012-12-22 10:58
t347938670
Rank: 1
等 级:等待验证会员
帖 子:8
专家分:0
注 册:2012-12-22
收藏
得分:0 
没人么?
2012-12-22 11:34
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
程序代码:
#include<stdio.h>
#define N 100
int main()
{
    int m,n,e;
    char c[N]={'\0'},f;
    printf("请输入您要输入的字符串的个数(小于100个):");
    scanf("%d",&e);
    printf("请输入字符串用空格隔开\n请不要超出您输入的范围:");
    for(m=0;m<e;m++)
        scanf("%s",&c[m]);
    for(m=0,n=e-1;m<n;m++,n--)
    {
        f=c[m];
        c[m]=c[n];
        c[n]=f;
    }
    //for(m=0;m<=e;m++)   
    printf("%s\n",c);
    return 0;
}
收到的鲜花
  • t3479386702012-12-22 15:52 送鲜花  2朵   附言:非常感谢

DO IT YOURSELF !
2012-12-22 11:39
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
下次提问记得放分哦

DO IT YOURSELF !
2012-12-22 11:39
t347938670
Rank: 1
等 级:等待验证会员
帖 子:8
专家分:0
注 册:2012-12-22
收藏
得分:0 
回复 4楼 wp231957
很感谢啊  刚来着论坛,使劲赚积分,以后提问放分
2012-12-22 12:16
t347938670
Rank: 1
等 级:等待验证会员
帖 子:8
专家分:0
注 册:2012-12-22
收藏
得分:0 
回复 4楼 wp231957
版主大哥啊   我想要这样的效果

输入     ab bc cd de ef
输出     ef de cd bc ab   
要怎么改啊?
2012-12-22 12:37
t347938670
Rank: 1
等 级:等待验证会员
帖 子:8
专家分:0
注 册:2012-12-22
收藏
得分:0 
,求解额。,。
2012-12-22 14:22
代号215
Rank: 2
等 级:论坛游民
帖 子:40
专家分:80
注 册:2012-11-22
收藏
得分:0 
程序代码:
//功能:字符串逆序存放并输出
#include<stdio.h>
#include<string.h>
#define N 100
main()
{
    int i,num;               //定义变量
    int strb,strend;           //定义字符串开始和结束变量
    char str[N];
    char temp;                   //定义临时变量

    //输入
   
    printf("请输入字符串用空格隔开:\n");
    gets(str);
   
    /*for(m=0;m<=e;m++)
        scanf("%s",&c[m])     
    字符串的输入不要加取地址符,直接gets()就OK了,
    而且你一个一个输入的是字符,而不是一个字符串
    就应该是scanf("%c",&str[i]);*/

    strb=0,strend=strlen(str)-1;

    while(strb<strend)         //设置循环,进行反序调换
    {
        temp=str[strb];
        str[strb]=str[strend];
        str[strend]=temp;
        strb++;
        strend--;
    }

    //输出
    puts(str);
    printf("\n");
}
收到的鲜花
  • t3479386702012-12-22 15:53 送鲜花  2朵   附言:感激不尽!学到不少

好久没把牛皮吹的这么清新脱俗了
2012-12-22 15:10
t347938670
Rank: 1
等 级:等待验证会员
帖 子:8
专家分:0
注 册:2012-12-22
收藏
得分:0 
回复 8楼 代号215
很感谢啊  ,不过题目要求不是这样,         是 假如输入    abc def ghi
                                                  输出    ghi def abc
             是字符串之间的逆序存放, 字符串本身不变。
这样要怎么改呢?
2012-12-22 15:56
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
回复 9楼 t347938670
程序代码:
#include <stdio.h>
void fun()
{
    char a[10];
    if ((a[0] = getchar()) == '\n')
        return;
    if (a[0] == ' ')scanf("%s", a);
    else    scanf("%s", &a[1]);
    fun();
    printf("%s ", a);
}
int main()
{
    fun();
    puts("");
    return 0;
}
收到的鲜花
  • t3479386702012-12-22 18:07 送鲜花  2朵   附言:牛啊 就是要这个效果 非常感谢啊


[fly]存在即是合理[/fly]
2012-12-22 17:16
快速回复:C语言 字符串逆序存放并输出,运行出错,
数据加载中...
 
   



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

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