设计网站的管理系统企业邮箱如何申请注册
文章目录
- C语言练习题
- 读懂每个练习题才是学好一门代码的重要经历
- 目录(先不要看答案,首先自己做才能更好的领悟,做不来没关系)
- 题目一:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- 题目二://题目:企业发放的奖金根据利润提成。
- 题目三:输入某年某月某日,判断这一天是这一年的第几天?
C语言练习题
读懂每个练习题才是学好一门代码的重要经历
目录(先不要看答案,首先自己做才能更好的领悟,做不来没关系)
题目一:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
程序分析:可填在百位、十位、个位的数字都是 1、2、3、4,组成所有的排列后再去掉不满足条件的排列。
int main(void)
{int i,j,k;for( i=1;i<5;i++){for( j=1;j<5;j++){for( k=1;k<5;k++){///关键:只要证明i j k 互不等于即可if(i!=j && i != k && j != k && k !=j){printf("%d,%d,%d,\n",i,j,k);}}}}return 0;
}
题目二://题目:企业发放的奖金根据利润提成。
//利润(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,求应发放奖金总数?
//程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成双精度浮点(double)型。
///输入的金额double i;double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;printf("你的净利润是:\n");///这个主要的分界bonus1 = 100000 * 0.10;bonus2 = bonus1 + (i-100000)*0.075;bonus4 = bonus2 + (i-200000)*0.05;bonus6 = bonus4 + (i-200000)*0.03;bonus10 = bonus6 + (i-400000)*0.01;printf("输入您的奖金\n");scanf("%lf",&i);if(i <= 100000){bonus = i * 0.1;}else if(i <= 200000){bonus = bonus1 + (i-100000) * 0.75;}else if(i<=400000){bonus = bonus2 + (i - 200000)* 0.05;}else if(i<=600000){bonus = bonus4 + (i-400000) * 0.03;}else if (i<=1000000){bonus = bonus6 + (i - 600000) * 0.015;}else if(i>1000000){bonus =bonus10 + (i-1000000) * 0.01;}printf("你的提成是%lf\n",bonus);
题目三:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
难点:主要是如何判断闰年的方式、可以百度查询一下
int main(void)
{int year,month,day,leap,sum;printf("请输入年月日,格式(2015,12,10)\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("数据错误");break;}//主要功能、判断是否闰年 if(year % 400 == 0 ||(year % 4==0&&year % 100 !=0)){leap=1;}else{leap=0;}if(leap == 1 && month > 2){sum++;}printf("这是一年中的%d天\n",sum);return 0;
}