| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1718 人关注过本帖
标题:人民币大小写转换程序运行不出来,大哥,大姐,来看一下
取消只看楼主 加入收藏
新令狐冲
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-6-5
收藏
 问题点数:0 回复次数:4 
人民币大小写转换程序运行不出来,大哥,大姐,来看一下
struct num
{
char money[20];
int len;
};
void substring (struct num *sub,struct num *s,int pos,int len) /*********求子串**********/
{
int i;
s->money[0]='\0';
s->len=0;
if ( pos<1 || pos>sub->len || len<0 || len>sub->len-pos+1)
printf("\n输入错误\n");
for(i=0;i<len;i++)
s->money[i]=sub->money[pos+i-1];
s->money[i]='\0';
s->len=i;
}
int Index(struct num *S, struct num *T, int pos) /*******20****子串定位***********/
{
int i=pos-1, j=0;
while(i<=S->len&&j<=T->len)
{
if (S->money[i] == T->money[j])
{
++i;
++j;
}
else
{
i = i-j+1;
j = 0;
}
}
if (j > T->len)
return i-T->len+1;
else printf("\n没有找到\n");
}
void reverse(struct num *ch) /*******39*****串倒置**************/
{
int len;
int i;
char middle;
for(i=0; i<ch->len/2; i++)
{
middle=ch->money[i];
ch->money[i] = ch->money[ch->len-i-1];
ch->money[ch->len-i-1]=middle;
}
ch->money[ch->len] = '\0'; /********51*********/
}
void numbertrans(char ch)
{
switch(ch)
{
case 0:printf("零");break;
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;
default:printf("你输如的钱数有误!");
}
}
void trans1(int i) /**************70*************/
{
if(i==1)printf("万");
else if(i==2)printf("亿");
else ;
}
void trans0(int len,int i)
{
if(len==4)
if(i==0) printf("千");
else if(i==1) printf("百"); /**************80*************/
else if(i==2) printf("拾");
else ;
if(len==3)
if(i==0) printf("百");
else if(i==1) printf("拾");
else ;

if(len==2)
if(i==0) printf("拾");
else ;
}
void trans(struct num ch)
{
int i;
for(i=0;i<ch.len;i++)
{
numbertrans(ch.money[i]);
trans0(ch.len,i);
}
}
main() /***********100******主函数**************/
{
int i,s=1,j=4,k,begin,length,post,start=0;
struct num *p;
struct num yourmoney,dot,substring1,substring2,substring3;
substring1.money[0]='\0';
substring1.len=0;
substring2.money[0]='\0';
substring2.len=0;
substring3.money[0]='\0';
substring3.len=0; /*110*/
struct num substring[3];
for(i=0;i<3;i++)
{
substring[i].money[0]='\0';
substring[i].len=0;
}
dot.money[0]='.'; /**********117***********/
dot.money[1]='\0';
dot.len=1;
yourmoney.money[0]='\0';
yourmoney.len=0;
printf("请你输入你的钱数:\n");
printf("输入你的钱数以后按回车键!\n");
for(i=0;i<20;i++)
{
scanf("%c",&yourmoney.money[i]);
}
yourmoney.money[i]='\0';
yourmoney.len=i;
post=Index(&yourmoney,&dot,start);
begin=start;
length=post+1;
substring[i].money[0]='\0';
substring[i].len=0;
substring(&yourmoney,
&substring1,begin,length); /*****求整钱数*125*****/
begin=post+2;
length=start+2;
substring(&yourmoney,
&substring2,begin,length);/*****求零钱数*******/
reverse(&substring1);
k=substring1.len/j;
if(substring1.len%j)
{
begin=k*j;
length=substring1.len-k*j;
substring(&substring1,&substring3,begin,length);/**********135*********/
reverse(&substring3);
}
for(i=0,s=1;i<k;i++)
{
if(i==0)
{
p=substring+i;
begin=s;
length=j;
substring(&substring1,p,begin,length);
}
else
{
p=substring+i;
begin=i*j+1;
length=j;
substring(&substring1,p,begin,length);
}
reverse(p);
}
trans(substring3);
trans1(k);
for(i=k-1;i>=0;i--)
{
trans(substring[i]);
trans1(i);
}
}
这个程序我运行不出来,请高手帮我运行一下,看是什么原因?谢谢个为浏览者!!!!!!!!!!
搜索更多相关主题的帖子: 人民币 大姐 大小写 运行 
2006-06-05 21:11
新令狐冲
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-6-5
收藏
得分:0 
是啊,就是着个样子,谢谢你!如何编出来啊?
2006-06-06 11:04
新令狐冲
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-6-5
收藏
得分:0 
SunShining的程序有点问题,你如果输入1000000000000000.01,你看他输出什么,输出的和习惯不同啊
2006-06-07 10:27
新令狐冲
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-6-5
收藏
得分:0 
谢谢你啊我改一改吧!
2006-06-07 10:52
新令狐冲
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-6-5
收藏
得分:0 
SunShining说的"然后记录上一个字符.直到下个字符不为0就可以了.为0的全部continue;就行了!"是什么意思啊?记录是什么意思?
2006-06-07 10:54
快速回复:人民币大小写转换程序运行不出来,大哥,大姐,来看一下
数据加载中...
 
   



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

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