char num[10] = {'零','一','二','三','四','五','六','七','八','九'};

“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是成都創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)做網(wǎng)站、成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。
char num2[10] = {'零','壹','貳','叁','肆','伍','陸','柒','捌','玖'};
char wei[4] = {'\0','十','百','千'};
char danwei[3] = {'萬','億'};
char wei2[4] = {'拾','佰','仟'};
這幾個(gè)定義不對(duì),因?yàn)闈h字占兩個(gè)字節(jié),所要num等的長(zhǎng)度要乘以2
wei2和danwei兩個(gè),當(dāng)字符串遇到\0就會(huì)結(jié)束,所要這樣定義是不對(duì)的
你要這么定義,也就是定義二維數(shù)組
num[10][] = {"零",一”,“二”,“三”,“四”,“五”,“六”,“七”,“八”,“九”};
其他的漢字定義也一樣,我就不寫了,下面我利用的時(shí)候,就默認(rèn)改過了
思路,首先判斷輸入的x的長(zhǎng)度,接著轉(zhuǎn)換為0~9
lx=strlen(x);
for(i=0;ilx;i++)
x[i]=x[i]-'0';
接著就是輸出了,這個(gè)要交替輸出
也就是輸出一個(gè)x的字符0~9對(duì)應(yīng)的num中的數(shù),接著輸出對(duì)應(yīng)的萬千億等標(biāo)識(shí)
代碼是
for(i=0;ilx;i++)
{
d=lx-i; //這里要計(jì)算這個(gè)位在這個(gè)字符到最后的位置,你懂
//這個(gè)可能控制不好,也就是一位的差距,你自己調(diào)試一下就可以
puts(num2[x[i]]); //輸出x中的數(shù)對(duì)應(yīng)的漢字
//接下來輸出相應(yīng)的百千萬億等漢字
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])
}
可以使用sprintf函數(shù)實(shí)現(xiàn)功能。
sprintf的聲明為
int sprintf(char *dst, const char * format_str...);
其功能為:將...部分的參數(shù),按照format_str的要求,輸入到dst中。
需要根據(jù)數(shù)字的類型,使用format_str。
如整型(int)的使用方式為
sprintf(buf, "%d", a);
如果a為123,那么buf中的字符串為"123"。
常見的數(shù)字類型還有:
1 short, 用%h輸出;
2 long, 用%ld輸出;
3 float, 用%f輸出;
4 double, 用%lf輸出。
#include "stdio.h"
#include "math.h"
main()
{
char change(int x,int n);
int x,i,j;
char s[8],y;
printf("請(qǐng)輸入整數(shù):");
scanf("%d",x);
for(i=0;i20;i++)
{
y=change(x,i);
if(y=='\0')
{
s[i]='\0';
break;
}
s[i]=y;
}
for(i=7;i=0;i--)//由于字符存儲(chǔ)到字符數(shù)組時(shí)順序與原來相反,故在此將字符順序倒輸
if(s[i]=='\0')
for(j=i-1;j=0;j--)
printf("%c",s[j]);
printf("\n");
}
char change(int x,int n)
{
int i;
char g;
for(i=0;i=n;i++)
{
switch(x%10)
{
case 0 :g='0';break;
case 1 :g='1';break;
case 2 :g='2';break;
case 3 :g='3';break;
case 4 :g='4';break;
case 5 :g='5';break;
case 6 :g='6';break;
case 7 :g='7';break;
case 8 :g='8';break;
case 9 :g='9';break;
}
if(x==0)
{
g='\0';
break;
}
x=x/10;
}
return(g);
}
在C/C++語言中沒有專門的字符串變量
通常用字符數(shù)組來存放字符串。字符串是以“\0”作為結(jié)束符。C/C++提供了豐富的字符串處理函數(shù),下面列出了幾個(gè)最常用的函數(shù)。
字符串是面試的重點(diǎn)考查部分的相關(guān)知識(shí),通過考查字符串的相關(guān)知識(shí)可以考察程序員的編程規(guī)范以及編程習(xí)慣。并且其中包括了許多知識(shí)點(diǎn),例如內(nèi)存越界、指針與數(shù)組操作等。許多公司在面試時(shí)會(huì)要求應(yīng)聘者寫一段復(fù)制字符串或字符串子串操作的程序。本章列舉了一些與字符串相關(guān)的面試題,有些題目要求較高的編程技巧。
以上內(nèi)容參考:百度百科-字符串
應(yīng)該是小寫字母轉(zhuǎn)大寫字母。
#include?stdio.h
char*?toUpper(char?*src)
{
int?i?=?-1;
while?(src[++i])
if?(src[i]?=?'a'??src[i]?=?'z')?//?如果是小寫字符,減去32就是大小寫了
src[i]?-=?32;
return?src;
}
int?main()
{
char?p[]?=?"acsduavh4516;';gbasff";
printf("relust?=?%s\n",?toUpper(p));
return?0;
}
網(wǎng)站標(biāo)題:c語言數(shù)值轉(zhuǎn)漢字函數(shù),c語言將數(shù)字轉(zhuǎn)化為漢字
URL分享:http://chinadenli.net/article44/hsgohe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站收錄、品牌網(wǎng)站設(shè)計(jì)、做網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)