题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 */// int count = 0;// for (int i = 1; i < 5; i++) {// for (int j = 1; j < 5; j++) {// for (int k = 1; k < 5; k++) {// if (i != j && i != k && j != k) {// printf("%d%d%d
", i, j, k);// count++;// }// }// }// }// printf("count = %d
", count);
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 profit 利润 bonus 奖金 */// long int profit = 0;// int bonus = 0, bonus1 = 0, bonus2 = 0, bonus4 = 0, bonus6 = 0, bonus10 = 0;// bonus1=100000*0.1;// bonus2=bonus1+100000*0.75;// bonus4=bonus2+200000*0.5;// bonus6=bonus4+200000*0.3;// bonus10=bonus6+400000*0.15;// printf("请输入当月利润:
");// scanf("%ld", &profit);// if (profit <= 0) {// printf("当月无利润!");// }else if (profit <= 100000){// bonus = profit * 0.1;// }else if (profit <= 200000){// bonus = bonus1 + (profit - 100000) * 0.075 ;// }else if (profit <= 400000){// bonus = bonus2 + (profit - 200000) * 0.05;// }else if (profit <= 600000){// bonus = bonus4 + (profit - 400000) * 0.03;// }else if (profit <= 1000000){// bonus = bonus6 + (profit - 600000) * 0.015;// }else{// bonus = bonus10 + (profit - 1000000) * 0.01;// }// printf("bonus = %d", bonus);题目:输入某年某月某日,判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。 */// int day = 0, month = 0, year = 0, sum = 0, leap = 0;// printf("Please input year, month, day
");// scanf("%d%d%d", &year, &month, &day);// switch (month) {//先计算某月以前的月份的天数// case 1:// sum = 0;// break;// case 2:// sum = 31;// break;// case 3:// sum = 59;// break;// case 4:// sum = 90;// break;// case 5:// sum = 120;// break;// case 6:// sum = 151;// break;// case 7:// sum = 181;// break;// case 8:// sum = 212;// break;// case 9:// sum = 243;// break;// case 10:// sum = 273;// break;// case 11:// sum = 304;// break;// case 12:// sum = 334;// break;// default:// printf("data error.");// break;// }// sum = sum + day;//再加上当月的天数// if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {//判断是否为闰年// leap = 1;// }else{// leap = 0;// }// if (leap == 1 && month > 2) {//如果是闰年并且是2月份后面的月份,那么加一天// sum++;// }// printf("%d年%d月%d日是本年的第%d天
", year, month, day, sum); 题目:输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。 */// for (int i = 1; i < 10; i++) {//控制行// for (int j = 1;j < i + 1;j++) {//控制列// printf("%d * %d = %2d ", i , j , i * j);// }// printf("
");// }//计算阶乘 //首先需要知道 阶乘的基数,阶乘值,乘数// int n = 0, i = 1, p = 1;// printf("Please enter a number:
");// scanf("%d", &n);// while (i <= n) {// p = p * i;// i++;// }// printf("%d的阶乘为%d
", n, p);
//水仙花数// int i = 0, j = 0, k = 0;// printf("water flower number is:
");// for (int n = 100; n < 1000; n++) {// i = n / 100;// j = n / 10 % 10;// k = n % 10;// if (i * i * i + j * j * j + k * k * k == n) {// printf("%d%d%d ", i, j, k);// }// }
C++ Primer Plus 第6版 中文版 清晰有书签PDF+源代码 http://www.linuxidc.com/Linux/2014-05/101227.htm读C++ Primer 之构造函数陷阱 http://www.linuxidc.com/Linux/2011-08/40176.htm读C++ Primer 之智能指针 http://www.linuxidc.com/Linux/2011-08/40177.htm读C++ Primer 之句柄类 http://www.linuxidc.com/Linux/2011-08/40175.htm
将C语言梳理一下,分布在以下10个章节中:- Linux-C成长之路(一):Linux下C编程概要 http://www.linuxidc.com/Linux/2014-05/101242.htm
- Linux-C成长之路(二):基本数据类型 http://www.linuxidc.com/Linux/2014-05/101242p2.htm
- Linux-C成长之路(三):基本IO函数操作 http://www.linuxidc.com/Linux/2014-05/101242p3.htm
- Linux-C成长之路(四):运算符 http://www.linuxidc.com/Linux/2014-05/101242p4.htm
- Linux-C成长之路(五):控制流 http://www.linuxidc.com/Linux/2014-05/101242p5.htm
- Linux-C成长之路(六):函数要义 http://www.linuxidc.com/Linux/2014-05/101242p6.htm
- Linux-C成长之路(七):数组与指针 http://www.linuxidc.com/Linux/2014-05/101242p7.htm
- Linux-C成长之路(八):存储类,动态内存 http://www.linuxidc.com/Linux/2014-05/101242p8.htm
- Linux-C成长之路(九):复合数据类型 http://www.linuxidc.com/Linux/2014-05/101242p9.htm
- Linux-C成长之路(十):其他高级议题
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-10/108009.htm