标题:求助!!小程序:输入数字字符转化为美元
只看楼主
yue_sss
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2017-3-31
得分:0 
回复 7楼 renkejun1942
大神求助虽然有结果了,但为啥编译后的结果都显示乱码啊?
2017-04-01 15:04
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
回复 11楼 yue_sss
错误信息什么的,你得发上来的啊。还有,你用的什么编译器啊?

我觉得不可思议,我用ANSI C模式编译,0警告,0错误。

[此贴子已经被作者于2017-4-1 15:24编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-01 15:17
yue_sss
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2017-3-31
得分:0 
回复 9楼 renkejun1942
这个题目在解题过程中会不会出现结果是乱码的情况呢,是编译器编码还是什么原因。。。
2017-04-01 16:24
yue_sss
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2017-3-31
得分:0 
回复 12楼 renkejun1942
不好意思 刚才没看到这个回复  我用的软件是codeblocks ,编译器是GNU GCC
2017-04-01 16:26
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
回复 13楼 yue_sss
你修改了我的代码?
那么……为什么不把你修改之后的代码一起发上来。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-01 16:43
yue_sss
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2017-3-31
得分:0 
回复 15楼 renkejun1942
程序代码:
#include<stdio.h>
#include<string.h>



void dollars(register char *dst, register char *src);

int main(void)
{
    char s1[20];
    char s2[20];
    while(gets(s1) && s1[0]!='\0')
    {
        dollars(s1, s2);
        printf("translation is %s\n", s2);
    }
    return 0;

}

void dollars(register char *dst, register char *src)
{
    int  len;

    if(dst==NULL || src==NULL)
    return;


    *dst++="$";
    len=strlen(src);

    if(len>=3)
    {
        int i;
        for(i=len-2;i>0;)
        {
            *dst++=*src++;
            if(--i>0 && i%3==0)
                *dst=',';
        }
    }
    else *dst='0';

    *dst++='.';
    *dst++= len<2 ? '0': *src++;
    *dst++= len<1 ? '0': *src;
    *dst  ='0';
}

我后面的函数用的是课后的版本 即使错的也不应该输出是这样的吧
还有一个问题  从这里复制代码到code blocks里都是有编码问题。。。这个应该如何修复?
2017-04-01 16:52
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
回复 16楼 yue_sss
你先粘贴到文本文档,然后从文本文档里面再复制一次粘贴到编辑器。

嗯……你说的我倒没遇到过,我一直都用文本文档写代码的。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-01 16:55
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
回复 16楼 yue_sss
*dst  ='0';

手动对比了一下答案,你这行错了,应该是:
*dst = 0;


*dst++="$";

这一行你也抄错了啊,应该是
*dst++ = '$'


我试试了,看答案是不是真的是错的。
你的编译器竟然没报错?这不可能,你用gcc 在命令行中编译了,加上-Wall。

[此贴子已经被作者于2017-4-1 17:01编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-01 16:58
yue_sss
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2017-3-31
得分:0 
回复 18楼 renkejun1942
可是不论我怎么修改 乱码还是那样没变。。。‘0’都改成0
2017-04-01 17:01
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
回复 19楼 yue_sss
你抄错了好多,我先帮你改过来看看。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-01 17:03



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




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

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