user-0 提问: C语言

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 能把代码发给我吗，我想学习一下

user: user-0
content: 引用 5 楼 weixin_45812742的回复:[quote=引用 3 楼 寻开心的回复:]万元以下， 把每个位分解出来用于索引数组，输出的时候千百直接放到printf函数里面去用 printf("%s千%s佰%s拾。。。。。")  可能需要费心的是要不要考虑 1001.00这种输出一千零一元整，还是允许输出一千零佰零拾零一元零角零分 #include<stdio.h>void main(){	char a[9] = { '壹','贰','叁','肆','伍','陆','柒','捌','玖' };	double num;	int temp;	scanf("%f", &num);	printf("请输入一个数");	temp = num / 1000;	if (temp != 0)	{		printf("%c仟", a[temp - 1]);	}	num = num - (num / 1000) * 1000;	temp = num / 100;	if (temp != 0)	{		printf("%c佰", a[temp - 1]);	}	num = num - (num / 100) * 100;	temp = num / 10;	if (temp != 0)	{		printf("%c拾", a[temp - 1]);	}	num = num - (num / 10) * 10;	temp = num / 1;	if (temp != 0)	{		printf("%c元", a[temp - 1]);	}	num = num - (num / 1) * 1;	temp = num / 0.1;	if (temp != 0)	{		printf("%c角", a[temp - 1]);	}	num = num - (num / 0.1) * 0.1;	temp = num / 0.01;	if (temp != 0)	{		printf("%c分", a[temp - 1]);	}}[/quote] 能看一下我哪错了嘛，就是后面不成功

user: user-0
content: 引用 3 楼 寻开心的回复:万元以下， 把每个位分解出来用于索引数组，输出的时候千百直接放到printf函数里面去用 printf("%s千%s佰%s拾。。。。。")  可能需要费心的是要不要考虑 1001.00这种输出一千零一元整，还是允许输出一千零佰零拾零一元零角零分 #include<stdio.h>void main(){	char a[9] = { '壹','贰','叁','肆','伍','陆','柒','捌','玖' };	double num;	int temp;	scanf("%f", &num);	printf("请输入一个数");	temp = num / 1000;	if (temp != 0)	{		printf("%c仟", a[temp - 1]);	}	num = num - (num / 1000) * 1000;	temp = num / 100;	if (temp != 0)	{		printf("%c佰", a[temp - 1]);	}	num = num - (num / 100) * 100;	temp = num / 10;	if (temp != 0)	{		printf("%c拾", a[temp - 1]);	}	num = num - (num / 10) * 10;	temp = num / 1;	if (temp != 0)	{		printf("%c元", a[temp - 1]);	}	num = num - (num / 1) * 1;	temp = num / 0.1;	if (temp != 0)	{		printf("%c角", a[temp - 1]);	}	num = num - (num / 0.1) * 0.1;	temp = num / 0.01;	if (temp != 0)	{		printf("%c分", a[temp - 1]);	}}

user: user-3
content: 也不能把汉字当做一个字符来处理， 要当做一个字符串

user: user-3
content: 数组里面要有零啊， 10个数

user: user-0
content: 引用 8 楼 寻开心的回复:也不能把汉字当做一个字符来处理， 要当做一个字符串 哦，我知道了，谢谢呀

user: user-4
content: const char num[10][3] = {"零\0", "壹\0", "贰\0", 。。。。。。 } 这是错的  ""自带一个 \0 假设中文字符2个字节 这样写会占用4个字节  而数组只有3个字节的元素 C++是语法错误  C语言 倒是可以   引用 1 楼 寻开心 的回复:定义一个长度为10 的字符串数组，把各个大写的汉字都分别保存到数组里面去 const char num[10][3] = {"零\0", "壹\0", "贰\0", 。。。。。。 } 再把钱数变成一个长度是六的数组，分别代表千位，百位，十位，个位，角位，分位 用这个数组里面的数值去索引大写汉字的里面的字符串，串联起来就是了 1234.56 变成数组六位就是 1 2 3 4 5 6 对应大写汉字       壹仟贰佰叁拾肆元伍角陆分  自己尝试写吧，   拿代码来提问

user: user-3
content: 万元以下， 把每个位分解出来用于索引数组，输出的时候千百直接放到printf函数里面去用 printf("%s千%s佰%s拾。。。。。")  可能需要费心的是要不要考虑 1001.00这种输出一千零一元整，还是允许输出一千零佰零拾零一元零角零分

user: user-0
content: 引用 1 楼 寻开心的回复:定义一个长度为10 的字符串数组，把各个大写的汉字都分别保存到数组里面去 const char num[10][3] = {"零\0", "壹\0", "贰\0", 。。。。。。 } 再把钱数变成一个长度是六的数组，分别代表千位，百位，十位，个位，角位，分位 用这个数组里面的数值去索引大写汉字的里面的字符串，串联起来就是了 1234.56 变成数组六位就是 1 2 3 4 5 6 对应大写汉字       壹仟贰佰叁拾肆元伍角陆分  自己尝试写吧，   拿代码来提问 有问题吧，仟佰从哪来？

user: user-3
content: 定义一个长度为10 的字符串数组，把各个大写的汉字都分别保存到数组里面去 const char num[10][3] = {"零\0", "壹\0", "贰\0", 。。。。。。 } 再把钱数变成一个长度是六的数组，分别代表千位，百位，十位，个位，角位，分位 用这个数组里面的数值去索引大写汉字的里面的字符串，串联起来就是了 1234.56 变成数组六位就是 1 2 3 4 5 6 对应大写汉字       壹仟贰佰叁拾肆元伍角陆分  自己尝试写吧，   拿代码来提问