歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C語言經典排序

C語言經典排序

日期:2017/3/1 9:38:41   编辑:Linux編程

題目:有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\n", i, j, k);

// count++;

// }

// }

// }

// }

// printf("count = %d\n", 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("請輸入當月利潤:\n");

// 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\n");

// 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天\n", 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("\n");

// }

//計算階乘

//首先需要知道 階乘的基數,階乘值,乘數

// int n = 0, i = 1, p = 1;

// printf("Please enter a number:\n");

// scanf("%d", &n);

// while (i <= n) {

// p = p * i;

// i++;

// }

// printf("%d的階乘為%d\n", n, p);


//水仙花數

// int i = 0, j = 0, k = 0;

// printf("water flower number is:\n");

// 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個章節中:

  1. Linux-C成長之路(一):Linux下C編程概要 http://www.linuxidc.com/Linux/2014-05/101242.htm
  2. Linux-C成長之路(二):基本數據類型 http://www.linuxidc.com/Linux/2014-05/101242p2.htm
  3. Linux-C成長之路(三):基本IO函數操作 http://www.linuxidc.com/Linux/2014-05/101242p3.htm
  4. Linux-C成長之路(四):運算符 http://www.linuxidc.com/Linux/2014-05/101242p4.htm
  5. Linux-C成長之路(五):控制流 http://www.linuxidc.com/Linux/2014-05/101242p5.htm
  6. Linux-C成長之路(六):函數要義 http://www.linuxidc.com/Linux/2014-05/101242p6.htm
  7. Linux-C成長之路(七):數組與指針 http://www.linuxidc.com/Linux/2014-05/101242p7.htm
  8. Linux-C成長之路(八):存儲類,動態內存 http://www.linuxidc.com/Linux/2014-05/101242p8.htm
  9. Linux-C成長之路(九):復合數據類型 http://www.linuxidc.com/Linux/2014-05/101242p9.htm
  10. Linux-C成長之路(十):其他高級議題

Copyright © Linux教程網 All Rights Reserved