编程割汉字
Ⅰ C语言编程中怎么输入汉字
一个汉字实际上是用一个字符数组中的连续两个元素储存的
例如:
char s[2];
scanf("%s",s); ///1、此处不加& 2、此处可用gets(s);
for(int i=0;i<2;++i)
printf("%c",s[i]);
这样可以完整输入输出一个汉字。
Ⅱ C语言编程解决汉字点阵的提取与显示
/***图形模式下的汉字显示**/
/***图形模式下的汉字显示**/
/***图形模式下的汉字显示**/
/***图形模式下的汉字显示**/
/***图形模式下的汉字显示**/
/***图形模式下的汉字显示**/
#include<graphics.h>
#include<stdio.h>
void hanzi(int x,int y,char *s,int colour) /* x,y为汉字坐标,s为字符串,colour为颜色值*/
{
FILE *fp;
char buffer[32];
register i,j,k;
unsigned char qh,wh; /*区位码*/
unsigned long location; /*汉字在字库中的位置*/
if((fp=fopen("hzk16","rb"))==NULL)
{
printf("Can't open hzk16!");
getch();
exit(0);
}
while(*s)
{
qh=*s-0xa0;
wh=*(s+1)-0xa0;
location=(94*(qh-1)+(wh-1))*32L;
fseek(fp,location,SEEK_SET);
fread(buffer,32,1,fp);
for (i=0;i<16;i++)
for(j=0;j<2;j++)
for(k=0;k<8;k++)
if(((buffer[i*2+j]>>(7-k))&0x1)!=NULL)
putpixel(x+8*j+k,y+i,colour);
s+=2;
x+=16; /*汉字间距*/
}
fclose(fp);
}
main()
{
int graphdriver=VGA;
int graphmode=VGAHI;
initgraph(&graphdriver,&graphmode,"");
hanzi(110,110,"显示汉字的例子,不需要汉字系统。",2);
getch();
closegraph();
}
Ⅲ java编程 数字转换成汉字
我自己写的,匆忙写的。我有时间再改进改进。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Stack;
/*
* 本程序
*/
public class Transfer {
public Stack<Integer> transfer(int n){
Stack<Integer> st = new Stack<Integer>();
int division = 0; //余数
while(n>=10){
division = n%10;
st.push(division);
n = n/10;
}
st.push(n); //将最高位压栈
return st;
}
public static void main(String[]args){
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String in = "";
try {
in = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
int n = 0;
try{
n = Integer.parseInt(in);
} catch(NumberFormatException e){
e.printStackTrace();
}
Transfer tf = new Transfer();
Stack<Integer> s = tf.transfer(n);
/*
while(!s.empty()){
System.out.print(s.pop()); //测试语句
}
*/
HashMap<Integer, String> hp1 = new HashMap<Integer, String>(); //第一个映射表
hp1.put(0, "零"); //根据所在位的数值与中文对应
hp1.put(1, "一");
hp1.put(2, "二");
hp1.put(3, "三");
hp1.put(4, "四");
hp1.put(5, "五");
hp1.put(6, "六");
hp1.put(7, "七");
hp1.put(8, "八");
hp1.put(9, "九");
HashMap<Integer, String> hp2 = new HashMap<Integer, String>(); //第二个映射表
hp2.put(2, "十"); //根据所在位数,与中文对应
hp2.put(3, "百");
hp2.put(4, "千");
hp2.put(5, "万");
hp2.put(6, "十万");
hp2.put(7, "百万");
hp2.put(8, "千万");
hp2.put(9, "亿");
//System.out.println(s.size());
String out = "";
while(!s.isEmpty()){
int temp = s.pop();
if(s.size()==0){
if(temp !=0){
out = out + hp1.get(temp);
}
}
else{
if(temp==0){
out = out + hp1.get(temp);
}
else{
out = out + hp1.get(temp) + hp2.get(s.size()+1);
}
}
}
System.out.println(out);
}
}
对于如2008之类的数,输出的是二千零零八,还需要加以判断,我再去处理下。
还有涉及万以上的数,比如
123456
输出的是一十万二万三千四百五十六,也必须增加判断。
Ⅳ 编程语言为什么是英文,而不是汉字
因为最初的编程语言是英语。
用汉字编程也不是不行,现在也有一个编程平台,就是用汉字编程。但用汉字编程远不如用英文编程方便。中文博大精深,除了正式场合外,一般很少有人会严格按照语法来说话,很多时候都会省略主语、还会倒装,还有很多方言、多音字,甚至语调语气的不同也会造成意思不同。
让电脑搞明白这中间的区别是很不容易的,一个汉字占两个字符,a只需要到一个字母就能出来,而一个汉字就要打两三个字节。英文字母连上大小写一共不过52个字母,而中文汉字是以万计的,这么多文字的存储也是一个很大的问题。
所以,从速度和空间上来说,用中文编程不如英文编程占优势。此外,中文的一个词语在英文中往往对应了多个单词,而这些单词又有独特的语境,所以用英文来表达也会更简便一些。
(4)编程割汉字扩展阅读
中文编程语言
1、安全性自主研发的编译器,可保障国家安全,配合国产CPU和OS,实现全面的硬件、软件安全。
2、国际化多语种版本中语言可互相转化。用汉语编程只是实现了母语化的第一步,反之汉语为国际化交流带来了不方便。应该提供机制,可以将汉语关键字自动转换为其他语言,实现交流合作。
3、融合性与其它语言互融互通,通过学习汉语编程从而可继续学习其他编程语言。
Ⅳ 电脑为什么不能用汉字编程呢
其实有汉语编程的,但是但是并不实际.
编程的语言知识一种代码,最终还是转成2进制,所以理论上用什么语言编程都是一样的.
问题在于,编程语言要有严格的规定,并且不能重复.
对此,英文比中文更有优势.
其一,中国人讲中文,都有严格按语法来说吗,中文有倒装,省略,但是这些,电脑是看不懂的.
其二,汉字太多,多音字也很多,用命令的时候不能很快.
其三,参数问题,几乎通用的参数都是字母加字符,用中文,画蛇添足了.
其四,一个汉字占用二个字符,这样写的程序显得臃肿,并且影响编辑.