Cpp拾零(to be continued)

1.对于二位数组来说,每行首的元素进行加*运算,那么表示的行首元素,但是实际也还是表示地址,这点要格外注意。

2.注意字符数组的输出,就直接将首地址输出就好了。cout<<str<<endls;

3.getline()是属于string流. 读取从键盘输入的字符串.直到遇到结束符.

而cin.getline()是属于istream流. 一样读取从键盘输入字符,但是可以限定读取多少个字符或者将哪个字符当作结束符.

string str;                        char[10] str;           

getline(cin,str);                cin.getline(str,10,'e');   

4.C++对C的一个重要扩充就是对一个数据可以使用引用,主要用于扩充函数的数据传递功能。

5.在C语言中实际上全是采用值传递的方式。Cpp采用的引用传送的变量的别名,实现了值传递。

6.int*p[4] 指针数组,数组的元素存的是指针。

int (*p)[4] 指向一维数组的指针变量,其中p是指针变量,指向数组,且该该数组有4个int型的变量。

7.++  -- 和*(指向运算符)的优先级是相同的,且具有右结合的特性。

8.int (*p)(int x,int y) 指向函数入口的指针;

int *p(int x, int y) 返回指针的函数。

9.如果两个指针指向同一个数组的元素,两个指针变量值只差是两个指针之间的元素个数。

10.指针是c,c++中重要的特色概念,它可以提高程序效率,实现内存动态分配,通过函数调用得到多个改变的值。但也有缺点就是太灵活,易出错,且不易发现。

11.





以下是Java代码实现: ```java public class NumberToChinese { // 数字转中文大写 private static final String[] CHINESE_NUMBERS = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; private static final String[] CHINESE_UNITS = {"", "拾", "佰", "仟"}; private static final String[] CHINESE_GROUP_UNITS = {"", "万", "亿"}; public static String numberToChinese(double num) { if (num == 0) { return "零元整"; } long integerPart = (long) num; int decimalPart = (int) Math.round((num - integerPart) * 100); StringBuilder sb = new StringBuilder(); int groupIndex = 0; while (integerPart > 0) { int groupNum = (int) (integerPart % 10000); sb.insert(0, CHINESE_GROUP_UNITS[groupIndex++]); if (groupIndex > 1 && groupNum < 1000) { sb.insert(0, "零"); } sb.insert(0, groupToChinese(groupNum)); integerPart /= 10000; } sb.append("元"); if (decimalPart > 0) { sb.append(decimalToChinese(decimalPart)); } else { sb.append("整"); } return sb.toString(); } private static String groupToChinese(int num) { StringBuilder sb = new StringBuilder(); int unitIndex = 0; boolean addZero = false; while (num > 0) { int digit = num % 10; if (digit == 0) { addZero = true; } else { if (addZero) { sb.insert(0, CHINESE_NUMBERS[0]); } sb.insert(0, CHINESE_NUMBERS[digit] + CHINESE_UNITS[unitIndex]); addZero = false; } unitIndex++; num /= 10; } return sb.toString(); } private static String decimalToChinese(int num) { StringBuilder sb = new StringBuilder(); int digit = num / 10; if (digit > 0) { sb.append(CHINESE_NUMBERS[digit] + "角"); } digit = num % 10; if (digit > 0) { sb.append(CHINESE_NUMBERS[digit] + "分"); } return sb.toString(); } public static void main(String[] args) { double num = 12345678; String chinese = numberToChinese(num); System.out.println(chinese); } } ``` 输出结果为:`壹仟贰佰叁拾肆万伍仟陆佰柒拾捌元整`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值