1. c语言用while怎么将数字转换成文字
#include<stdio.h>
voidmain(){
inti=0,j,n,a[10];
charb[10][6]={"zero","one","two","three","four","five","six","seven","eight","nine"};
scanf("%d",&n);
while(n)
{a[i]=n%10;n/=10;i++;}
for(j=i-1;j>=0;j--)
printf("%s",b[a[j]]);
printf("");
}
运行示例:
2. C 语言实现数字转汉字
那些都是unicode编码。在C里要用
#define _UNICODE // Tell C we're using Unicode, notice the _
#include <tchar.h> // Include Unicode support functions
#include <stdlib.h>
#include <string.h>
#include ...
给你一个连接看看吧。
3. C语言程序设计的一道题,一个把阿拉伯数字转换成中文大写数字的程序。我自己编写如下:
char num[10] = {'零','一','二','三','四','五','六','七','八','九'};
char num2[10] = {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
char wei[4] = {'\0','十','百','千'};
char danwei[3] = {'万','亿'};
char wei2[4] = {'拾','佰','仟'};
这几个定义不对,因为汉字占两个字节,所要num等的长度要乘以2
wei2和danwei两个,当字符串遇到\0就会结束,所要这样定义是不对的
你要这么定义,也就是定义二维数组
num[10][] = {"零",一”,“二”,“三”,“四”,“五”,“六”,“七”,“八”,“九”};
其他的汉字定义也一样,我就不写了,下面我利用的时候,就默认改过了
思路,首先判断输入的x的长度,接着转换为0~9
lx=strlen(x);
for(i=0;i<lx;i++)
x[i]=x[i]-'0';
接着就是输出了,这个要交替输出
也就是输出一个x的字符0~9对应的num中的数,接着输出对应的万千亿等标识
代码是
for(i=0;i<lx;i++)
{
d=lx-i; //这里要计算这个位在这个字符到最后的位置,你懂
//这个可能控制不好,也就是一位的差距,你自己调试一下就可以
puts(num2[x[i]]); //输出x中的数对应的汉字
//接下来输出相应的百千万亿等汉字
if(d==2||d==6||d==10) //在十、十万、十亿位置输出十
puts(wei[0]);
if(d==3||d==7||d==11) //在百,百万、百亿位置输出百
puts(wei[1]);
if(d==4||d==8||d==12) //在千,千万,千亿位置输出千
puts(wei[2]);
if(d==5) //在万位输出万
puts(danwei[0]);
if(d==9) //在第九位输出亿
puts(danwei[1])
}
4. 我想问一下C语言编程数字转换成中文大写
void main() { float s,j; int i,q,g;
char *a[]={"壹","贰","叁","肆","伍","陆","柒","捌","玖"}; char *b[]={"元","十","百","千","万","十万","百万","千万","亿"}; char *d[]={"角","分"}; scanf("%f",&s); s=s+0.003; for(i=8;i>0;i--) {j=s/pow(10,i); if(j!=0) break; }
for(q=i-1;q>=0;q--) {j=s/pow(10,q); g=(int)j%10; if(g!=0)
printf("%s%s",a[g-1],b[q]);} for(q=-1;q>=-2;q--) {
j=s/pow(10,q); g=(int)j%10; if(g!=0)
printf("%s%s",a[g-1],d[-q-1]);} }
5. C语言编程:数字金额转换为中文大写金额
#include<stdio.h>
#include<conio.h>
main()
{
int i,size=0;
char s[11];
printf("请输入金额:");
scanf("%s",s);
printf("次数的中文大写金额为:\n\n");
printf("佰\t拾\t万\t仟\t佰\t拾\t元\t角\t分\n");
for(i=0;s[i]!='\0';i++)
{
if(s[i]=='.') break;
size++;
}
for(i=0;i<(7-size);i++)
{
printf(" \t");
}
for(i=0;s[i]!='\0';i++)
{
switch(s[i])
{
case '0':printf("零\t");break;
case '1':printf("壹\t");break;
case '2':printf("贰\t");break;
case '3':printf("叁\t");break;
case '4':printf("肆\t");break;
case '5':printf("伍\t");break;
case '6':printf("陆\t");break;
case '7':printf("柒\t");break;
case '8':printf("捌\t");break;
case '9':printf("玖\t");break;
}
}
getch();
}
结果:(可能不是你想要的,如果不是你想要的结果,你能给我你想要的结果吗?)
6. C语言问题 将输入数字的转换成中文
下面是后台代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i=0,count=0; //计数器
char nums[10][4]={"壹","贰","叁","肆","伍","陆","柒","捌","玖","拾"};
int money;
int moneys[5]; //默认可以存储5个数字
printf("请输入金额:");
scanf("%d",&money);
while(money != 0){
moneys[i] = money % 10; //取个位数
money /= 10; //去掉个位数
i++;
count++;
}
printf("你输入一共有%d个数字! ",count);
for(i=count-1;i>=0;i--){
printf("%d----%s ",moneys[i],nums[moneys[i]-1]);
}
return 0;
}
(6)c语言数字转中文扩展阅读
C语言特点
C语言普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。具体体现在以下三个方面:
其一,广泛性。C 语言的运算范围的大小直接决定了其优劣性。C 语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。此外,C 语言包含了字符型、指针型等多种数据结构形式,因此,更为庞大的数据结构运算它也可以应付。
其二,简洁性。9 类控制语句和32个KEYWORDS是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同 时还能够支持高级编程,避免了语言切换的繁琐。
其三,结构完善。C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显着优势,同时这一特性也使得它能够适应多种不同的编程要求,且执行效率高。
7. C语言程序题:将一个键盘输入的数字转化成中文输出!
用数组保存+-123...9 的中文形式,然后对输入的串进行比较输出即可,基本代码如下,思路如下,代码未调试。。
#include <stdio.h>
#include <string.h>
char map[] = { "零" , "一" , "二" , "三" , "四" , "五" , "六" , "七" , "八" ,"九","正" , "负"."点"};
char Search( char c ) //找到字母表示法所对应的数字
{
for( int i = 0 ; i <= 13 ; i++ )
{
if( strcmp( c, map[i] ) == 0 )
return map[i];
}
}
int main()
{
char s,c;
while( scanf( "%s" , s ) && strcmp( s , "+" ) != '\n') {
c=search(s);
printf("%c",&c);
}
return 1;
}
8. c语言把一个整数转变成中文的念法
这是我以前写的,把中文改成拼音就行了
http://hi..com/rankabc/item/d1dd64ff4c674aeba835a2a3
9. 求将数字转换为中文金额的C语言程序
//先把double转换成string
//逐字符读string
....
switch (char)
{case 0:
case 1:
.....
}
...
10. C语言 小写数字转换大写汉字
应该是小写字母转大写字母。
#include<stdio.h>
char*toUpper(char*src)
{
inti=-1;
while(src[++i])
if(src[i]>='a'&&src[i]<='z')//如果是小写字符,减去32就是大小写了
src[i]-=32;
returnsrc;
}
intmain()
{
charp[]="acsavh4516;';gbasff";
printf("relust=%s ",toUpper(p));
return0;
}