设为首页 加入收藏

TOP

C语言经典排序
2014-11-23 19:49:09 来源: 作者: 【 】 浏览:29
Tags:语言 经典 排序

题目:有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语言梳理一下,分布在以下10个章节中:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇STL之iterator(迭代器) 下一篇STL之Vector(不定长数组)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: