问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

帮我写一个c语言的程序,按照我下面的思路写下哦

发布网友 发布时间:2024-10-22 07:46

我来回答

4个回答

热心网友 时间:2024-11-12 22:55

举手之劳,帮你弄了。小可贵在钓,不在鱼。
一个完整的c程序如下,win-tc和Dev-c++下已运行通过。
#include <stdio.h>
#include <string.h>
#include <conio.h>

char c_je[51]; /*大写金额字符变量*/
char* zh( x ) /*数字金额转换为大写金额子程序*/
double x; /*要转换的金额数*/
{
int i, n, bz;
char je[14]; /*数字金额的字符变量*/
char temp[13];
char f1[10][3] = {"零","壹","贰","叁","肆","伍",
"陆","柒","捌","玖"}; /*数字对应的大写数组变量*/
char f2[11][3] = {"亿","仟","佰","拾","万",
"仟","佰","拾","元","角","分"}; /*每位数字对应单位数组变量*/
sprintf( je, "%.01f", 100*x); /*转换成字符*/
n = strlen( je );
c_je[0] = '\0';
bz = 1;
for( i = 0; i < n; i++ )
{
strcpy( temp, &je[i] ); /*复制到临时数组*/
if( atoi(temp)==0) /*判断第i位后是否全为0*/
{
bz = 2;
break;
}
if( je[i] != '0' )
{
if( bz == 0 )
strcat( c_je, f1[0] );
strcat( c_je, f1[je[i] - '0'] ); /*数字串转化字符串*/
bz = 1;
strcat( c_je, f2[13-n+i]);
}
else
{
if( n-i == 7 && (je[i-1]!='0'||je[i-2]!='0' || je[i-3]!='0')) /*判断万位位置*/
strcat( c_je, "万" );
if( n-i == 3 ) /*判断个位数的元位置*/
strcat( c_je, "元");
bz = 0;
}
}
if( bz == 2 )
{
if( n-i >= 7 && n-i < 10 )
strcat( c_je, "万") ; /*万位数字为0,加‘万’*/
if( n-i >= 3 )
strcat( c_je, "元");
strcat( c_je, "正" ); /*最后不是分位,加“正”*/
}
return c_je; /*返回大写金额*/
}

main()
{
double count;
system("cls");
printf("*********************************************************\n");
printf("* *\n");
printf("* 数字金额转换为大写金额程序 Ver.1.0 *\n");
printf("* *\n");
printf("* By RZLIN *\n");
printf("* *\n");
printf("* 请输入要转换的金额: *\n");
printf("* ");
scanf("%lf", &count );
printf("* 您输入的金额为:%10.2lf *\n",count);
printf("* *\n");
printf("*转换为大写金额是:%s\n", zh( count ) );
printf("* *\n");
puts("* 请按任意键退出... *");
printf("*********************************************************\n");
getch();
}

热心网友 时间:2024-11-12 23:02

前面如何来获取每位的数字很好做了,就不说了
说下我是如何设计实现你要打印的功能
你可以定义一个数组来存放你的每一位数字
数组大小由你获得的位数来定,后一个数组则可以确定为10位或者15位,一般公司用的话也涉及不到超过10个亿的项目吧!然后就是动态生成钱的字符串了!对应数组序列号的元素连接!整个一组合就是你想要的了!做不出来的话你就可以挂科重修或者是不学编程了!好运

热心网友 时间:2024-11-12 22:55

你都说你不懂啦,我们写出来你也判断不出谁写得好,写得不好。那又何必为了15分费力写呢?

热心网友 时间:2024-11-12 23:02

分太少了

热心网友 时间:2024-11-12 22:59

举手之劳,帮你弄了。小可贵在钓,不在鱼。
一个完整的c程序如下,win-tc和Dev-c++下已运行通过。
#include <stdio.h>
#include <string.h>
#include <conio.h>

char c_je[51]; /*大写金额字符变量*/
char* zh( x ) /*数字金额转换为大写金额子程序*/
double x; /*要转换的金额数*/
{
int i, n, bz;
char je[14]; /*数字金额的字符变量*/
char temp[13];
char f1[10][3] = {"零","壹","贰","叁","肆","伍",
"陆","柒","捌","玖"}; /*数字对应的大写数组变量*/
char f2[11][3] = {"亿","仟","佰","拾","万",
"仟","佰","拾","元","角","分"}; /*每位数字对应单位数组变量*/
sprintf( je, "%.01f", 100*x); /*转换成字符*/
n = strlen( je );
c_je[0] = '\0';
bz = 1;
for( i = 0; i < n; i++ )
{
strcpy( temp, &je[i] ); /*复制到临时数组*/
if( atoi(temp)==0) /*判断第i位后是否全为0*/
{
bz = 2;
break;
}
if( je[i] != '0' )
{
if( bz == 0 )
strcat( c_je, f1[0] );
strcat( c_je, f1[je[i] - '0'] ); /*数字串转化字符串*/
bz = 1;
strcat( c_je, f2[13-n+i]);
}
else
{
if( n-i == 7 && (je[i-1]!='0'||je[i-2]!='0' || je[i-3]!='0')) /*判断万位位置*/
strcat( c_je, "万" );
if( n-i == 3 ) /*判断个位数的元位置*/
strcat( c_je, "元");
bz = 0;
}
}
if( bz == 2 )
{
if( n-i >= 7 && n-i < 10 )
strcat( c_je, "万") ; /*万位数字为0,加‘万’*/
if( n-i >= 3 )
strcat( c_je, "元");
strcat( c_je, "正" ); /*最后不是分位,加“正”*/
}
return c_je; /*返回大写金额*/
}

main()
{
double count;
system("cls");
printf("*********************************************************\n");
printf("* *\n");
printf("* 数字金额转换为大写金额程序 Ver.1.0 *\n");
printf("* *\n");
printf("* By RZLIN *\n");
printf("* *\n");
printf("* 请输入要转换的金额: *\n");
printf("* ");
scanf("%lf", &count );
printf("* 您输入的金额为:%10.2lf *\n",count);
printf("* *\n");
printf("*转换为大写金额是:%s\n", zh( count ) );
printf("* *\n");
puts("* 请按任意键退出... *");
printf("*********************************************************\n");
getch();
}

热心网友 时间:2024-11-12 23:02

分太少了

热心网友 时间:2024-11-12 22:57

前面如何来获取每位的数字很好做了,就不说了
说下我是如何设计实现你要打印的功能
你可以定义一个数组来存放你的每一位数字
数组大小由你获得的位数来定,后一个数组则可以确定为10位或者15位,一般公司用的话也涉及不到超过10个亿的项目吧!然后就是动态生成钱的字符串了!对应数组序列号的元素连接!整个一组合就是你想要的了!做不出来的话你就可以挂科重修或者是不学编程了!好运

热心网友 时间:2024-11-12 22:56

你都说你不懂啦,我们写出来你也判断不出谁写得好,写得不好。那又何必为了15分费力写呢?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
山东沃尔德集团集团所辖公司介绍 齐鲁银行无忧贷和市民贷哪个好 什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 请大家帮我解释一小段C语言代码的含义、、谢谢! 求诺基亚5230选购技巧 我的5230被刷成5235了,请教高手怎么刷回来啊? 急!!!关于诺基亚5230的上网问题 诺基亚5230的ovi player怎么用 我的手机是诺基亚5230,安装了一个卡巴斯基后卸载不了,请教一下高手该怎... 如何在5230刷机包中加中文 茶字找出多少个汉字? 刑法里面的一个案例!!专家的来 《和平精英》枪法练习技巧,学会压枪才只是开始介绍_《和平精英》枪法练... 三分钟了解和平精英五大绝技介绍_三分钟了解和平精英五大绝技是什么 和平精英玩狙击枪的技巧 和平精英射击游戏技巧 2021春节前一周机票真的会涨价吗 2021五一飞机票会大幅涨价吗? 2021春节前一周机票价格会涨一倍吗? 需要一份关于人们对幸运与不幸看法的调查问卷 在线调查问卷系统——调查圈制作学生毕业论文的调研问卷,应该注意哪些... 没有在专业的学校培训过美甲可以自学光疗甲的制作吗 想自学下美甲,都说《奇逸美甲店专业技术宝典》不错,在哪能买到? 请大家帮我看一下,这个c语言程序哪个部分出了问题,程序目的是将一个... 罗洛亚·索隆人物背景 罗洛亚·索隆的人物背景 小猴子梦见自家的榴莲被偷,醒后非常害怕,直接开车去了榴莲园 我和老公刚结婚,我们是二婚,可是他前妻不把户口迁移-他前妻因为婚外情给... 做梦掉个榴莲是上帝安排的吗 我是15年毕业的研究生,马上就毕业,以本科身份报的事业单位,现在政审... 宣城论坛引论坛概述 宣城论坛的引论坛概述 南昌有哪些家具城 2011款 福特福克斯两厢 手动 两厢运动型 11.5万公里保养项目价格_百度... 福克斯十年必换配件 山根完全塌,打阴影都拯救不了怎么办? 如何拯救鼻塌男生? 画什么样的鼻影可以拯救塌鼻梁? ...年2月18日农历正月二十七18:40分出生女孩,父姓张属鼠、母姓杨属虎... 我儿子是正月十六晚上八点十八分出生的,体重是八斤八两,爸爸姓刘,妈妈... ...农历正月十八上午8点45分,姓姚。请大师帮忙取个名字,及应注意什么... 哪位大师帮忙分析下 农历2017年正月初三18:40分出生的马姓男宝宝生辰... 移动通信基站到底有什么危害