c语言例题求解答!急急急!求解题代码!谢谢各位大神了!
输入一个万位以内的整数,将整数转换成中文表达方式。例如:输入整数为:12345,显示结果为1万2千3百4十5元。我是初学者,刚学c三天,以上大神们写的都看不懂啊,有没有适...
输入一个万位以内的整数,将整数转换成中文表达方式。例如:输入整数为:12345,显示结果为1万2千3百4十5元。
我是初学者,刚学c三天,以上大神们写的都看不懂啊,有没有适合初学者的作法? 展开
我是初学者,刚学c三天,以上大神们写的都看不懂啊,有没有适合初学者的作法? 展开
4个回答
展开全部
#include<stdio.h>
main()
{
int n,s,h,t;//s、h、t分别用来统计千位、百位、十位
printf("请输入一个十万以内的整数:");
scanf("%d",&n);
if(n>100000)//处理超过十万的数
{
printf("数据输入有误\n");
return;
}
printf("您输入的数是:");
if(n/10000!=0)//获得万位数字
printf("%d万",n/10000);
n=n%10000;
s=n/1000;
if(s!=0)
printf("%d千",s);
else
printf("0");
n=n%1000;
h=n/100;
if(h!=0)
printf("%d百",h);
if(h==0&&s!=0)//有连续两个0只显示一个
printf("0");
n=n%100;
t=n/10;
if(t!=0)
printf("%d十",t);
if(t==0&&h!=0)
printf("0");
n=n%10;
if(n!=0)
printf("%d元\n",n);
}
这绝对是最原始的作法了。。。。
main()
{
int n,s,h,t;//s、h、t分别用来统计千位、百位、十位
printf("请输入一个十万以内的整数:");
scanf("%d",&n);
if(n>100000)//处理超过十万的数
{
printf("数据输入有误\n");
return;
}
printf("您输入的数是:");
if(n/10000!=0)//获得万位数字
printf("%d万",n/10000);
n=n%10000;
s=n/1000;
if(s!=0)
printf("%d千",s);
else
printf("0");
n=n%1000;
h=n/100;
if(h!=0)
printf("%d百",h);
if(h==0&&s!=0)//有连续两个0只显示一个
printf("0");
n=n%100;
t=n/10;
if(t!=0)
printf("%d十",t);
if(t==0&&h!=0)
printf("0");
n=n%10;
if(n!=0)
printf("%d元\n",n);
}
这绝对是最原始的作法了。。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdlib.h>
#include<stdio.h>
void main()
{
char c[][3]={"万","千","百","十","元"};
int n,nc,i=10000,j=0,k=0,l=0;
printf("n(<=99999)=?");
scanf("%d",&n);
nc=n;
while(nc)
{
if(nc/i)
{
printf("%d%s",nc/i,c[j]);
k=1;
l=0;
}else if(k!=0 && l==0)
{ printf("零"); l=1; }
j++;
nc%=i;
i/=10;
}
if(n%10==0)
printf("元");
printf("\n");
}
#include<stdio.h>
void main()
{
char c[][3]={"万","千","百","十","元"};
int n,nc,i=10000,j=0,k=0,l=0;
printf("n(<=99999)=?");
scanf("%d",&n);
nc=n;
while(nc)
{
if(nc/i)
{
printf("%d%s",nc/i,c[j]);
k=1;
l=0;
}else if(k!=0 && l==0)
{ printf("零"); l=1; }
j++;
nc%=i;
i/=10;
}
if(n%10==0)
printf("元");
printf("\n");
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<string.h>
int main()
{
char ch[6],*q;
int len;
while(gets(ch))
{
q = strrev(ch); 字符串翻转
len = strlen(ch);
int i;
for(i = len-1; i>=0; i--)
{
if(q[i] == '0') continue;
printf("%c",q[i]);
switch(i)
{
case 4:printf("万");break;
case 3:printf("千");break;
case 2:printf("百");break;
case 1:printf("十");break;
default:break;
}
}
printf("元\n");
}
return 0;
}
编译环境vc++6.0 没有加入错误信息的,务必输入正确的数字,读入文件结尾EOF结束
也就是说按ctrl + z结束while(gets(ch))
#include<string.h>
int main()
{
char ch[6],*q;
int len;
while(gets(ch))
{
q = strrev(ch); 字符串翻转
len = strlen(ch);
int i;
for(i = len-1; i>=0; i--)
{
if(q[i] == '0') continue;
printf("%c",q[i]);
switch(i)
{
case 4:printf("万");break;
case 3:printf("千");break;
case 2:printf("百");break;
case 1:printf("十");break;
default:break;
}
}
printf("元\n");
}
return 0;
}
编译环境vc++6.0 没有加入错误信息的,务必输入正确的数字,读入文件结尾EOF结束
也就是说按ctrl + z结束while(gets(ch))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询