| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3891 人关注过本帖
标题:编程序实现如下功能:从键盘输入一个包含小数的小写金额(整数部分不超过7位 ...
只看楼主 加入收藏
卮酒
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2020-4-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
编程序实现如下功能:从键盘输入一个包含小数的小写金额(整数部分不超过7位),将其转换为汉字大写金额,最后输出结果。
求大佬改正
 #include<stdio.h>
 main(void)
{
int i,j=0,k,s;
int w[9];
double a,b,c;
scanf("%lf",&a);
a=a+0.001;
s=a;
k=(a-s)*100;
if((a-s)>0)
{
w[1]=k/10;
w[0]=k%10;
}
else
{
w[1]=0;
w[0]=0;
}
while(s!=0)
{
w[2+j]=s%10;
s=s/10;
j++;
}
for(i=9;i>=j+2;i–)
w[i]=0;
for(i=j+1;i>=0;i–)
{
switch(w[i])
{
case 1:printf(“壹”);break;
case 2:printf(“贰”);break;
case 3:printf(“叁”);break;
case 4:printf(“肆”);break;
case 5:printf(“伍”);break;
case 6:printf(“陆”);break;
case 7:printf(“柒”);break;
case 8:printf(“捌”);break;
case 9:printf(“玖”);break;
case 0:printf(“零”);break;
}
switch(i+1)
{
case 1:printf(“分”);break;
case 2:printf(“角”);break;
case 3:printf(“元”);break;
case 4:printf(“拾”);break;
case 5:printf(“佰”);break;
case 6:printf(“仟”);break;
case 7:printf(“万”);break;
case 8:printf(“拾”);break;
case 9:printf(“佰”);break;
}

}
printf("\n");
return 0;
}
搜索更多相关主题的帖子: printf case 金额 输出 break 
2020-06-05 14:18
fulltimelink
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:171
专家分:752
注 册:2020-4-1
收藏
得分:10 
-- 不是–
英文双引号,不是中文双引号
数组初始化时可以都设默认0值,不用循环再赋0值
程序代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
    int i, j = 0, k, s;
    int w[9] = {0};
    double a;
    scanf("%lf", &a);
    a += 0.001;
    s = (int)a;
    k = (a - s) * 100;
    if ((a - s) > 0)
    {
        w[1] = k / 10;
        w[0] = k % 10;
    }
    else
    {
        w[1] = 0;
        w[0] = 0;
    }
    while (s != 0)
    {
        w[2 + j] = s % 10;
        s = s / 10;
        j++;
    }

    for (i = j + 1; i >= 0; i--)
    {
        switch (w[i])
        {
        case 1:printf(""); break;
        case 2:printf(""); break;
        case 3:printf(""); break;
        case 4:printf(""); break;
        case 5:printf(""); break;
        case 6:printf(""); break;
        case 7:printf(""); break;
        case 8:printf(""); break;
        case 9:printf(""); break;
        case 0:printf(""); break;
        }
        switch (i + 1)
        {
        case 1:printf(""); break;
        case 2:printf(""); break;
        case 3:printf(""); break;
        case 4:printf(""); break;
        case 5:printf(""); break;
        case 6:printf(""); break;
        case 7:printf(""); break;
        case 8:printf(""); break;
        case 9:printf(""); break;
        }

    }
    printf("\n");
    return 0;
}
2020-06-05 16:56
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:10 
再简化下:
程序代码:
#include<stdio.h>
int main(void)
{
    int i, n;
    int w[9] = { 0 };
    double a;
    char d1[] = "零壹贰叁肆伍陆柒捌玖", d2[] = "分角元拾佰仟万拾佰";
    scanf("%lf", &a);
    n = a * 100;
    for (i = 0; n; n /= 10)w[i++] = n % 10;
    for (i --; i >= 0; i--)
    {
        printf("%c%c%c%c", d1[w[i] * 2], d1[w[i] * 2 + 1],d2[i*2],d2[i*2+1]);
    }
    printf("\n");
    return 0;
}
收到的鲜花
  • forever742020-06-06 11:17 送鲜花  1朵   附言:赞

能编个毛线衣吗?
2020-06-05 22:23
快速回复:编程序实现如下功能:从键盘输入一个包含小数的小写金额(整数部分不超 ...
数据加载中...
 
   



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

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