| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1686 人关注过本帖
标题:请求大佬帮忙看看错的原因
只看楼主 加入收藏
温柔
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2019-10-28
结帖率:60%
收藏
已结贴  问题点数:9 回复次数:5 
请求大佬帮忙看看错的原因
不懂错的原因,大佬帮忙看看,就一点
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 请求 原因 
2019-11-12 16:27
c小白2333
Rank: 5Rank: 5
来 自:中国
等 级:贵宾
威 望:11
帖 子:121
专家分:367
注 册:2019-6-17
收藏
得分:3 
程序发全一点

宝剑锋从磨砺出,梅花香自苦寒来。
2019-11-12 20:50
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1685
专家分:4252
注 册:2007-12-27
收藏
得分:3 
你的脚发紫多半是因为你的袜子掉色。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2019-11-12 21:06
温柔
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2019-10-28
收藏
得分:0 
回复 2楼 c小白2333
题目:把n的每一位加起来,用汉语拼音输出sum的每一位
#include <stdio.h>

void num(int num);

int main()
{
    int n;
    scanf("%d",&n);
    int i;
    int mask = 1;
    int a=n;
    int sum = 0;
    while (a>0)
    {
        sum+=a%10;
        a /= 10 ;
    }
    a =sum;
    while (a>9)
    {
        a /= 10;
        mask *= 10;
    }
    mask *=10;
    while(mask>0)
    {
        num = sum/mask;
        sum %= mask;
        mask/=10;
        num(num);
        printf(" ");
        if(mask == 0)
            printf("%b");
    }
    return 0;
}
void num(int num)
{
    switch (num)
    {
    case 0 : printf("ling");break;
    case 1 : printf("yi");break;
    case 2 : printf("er");break;
    case 3 : printf("san");break;
    case 4 : printf("si");break;
    case 5 : printf("wu");break;
    case 6 : printf("liu");break;
    case 7 : printf("qi");break;
    case 8 : printf("ba");break;
    case 9 : printf("jiu");break;
    }
}
2019-11-12 22:35
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:3 
把n的每一位加起来
题目中有说 n 的取值范围吗?

程序代码:
#include <stdio.h>

int main( void )
{
    unsigned n;
    scanf( "%u", &n );

    unsigned sum = 0;
    for( unsigned t=n; t; t/=10 )
        sum += t%10;

    unsigned mask = 1;
    for( unsigned t=sum; t>=10; t/=10 )
        mask *= 10;

    const char* map[] = { "ling","yi","er","san","si","wu","liu","qi","ba","jiu" };
    for( unsigned t=mask; t; t/=10 )
    {
        unsigned index = sum/t%10;
        printf( "%s%c", map[index], " \n"[t==1] );
    }

    return 0;
}



[此贴子已经被作者于2019-11-13 10:41编辑过]

2019-11-13 09:09
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:566
专家分:3690
注 册:2019-7-29
收藏
得分:3 
首先函数名和变量名不要一样,其次变量num没有定义。
然后printf("%b");如果你想打印%b,需要写成printf("%%b");

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2019-11-13 19:54
快速回复:请求大佬帮忙看看错的原因
数据加载中...
 
   



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

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