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;
}