复习篇2016.3.4 16.42复习篇之一(蓝桥杯恶补)

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

#include<stdio.h>
int main()
{
       int num,i,j,k;
       num=0;
       for(i=1;i<5;i++)
       for(j=1;j<5;j++)
       for(k=1;k<5;k++)
       if(i!=j&&i!=k&&j!=k)
       {
       num++;
       printf("%d%d%d\n",i,j,k);     
       }
       printf("共有%d个",num);
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,求应发放奖金总数?

我的答案(题目理解问题)

#include<stdio.h>
int main()
{
	float award,money;
	award=0.0;
	scanf("%f",&money);
	if(money<=10)
	award=money*0.1;
	else if(money>10&&money<20)
		award=10*0.1+(money-10)*0.75;
	else if(money>20&&money<40)
		award=(money-20)*0.05;
	else if(money>40&&money<60)
		award=(money-40)*0.03;
	else if(money>60&&money<100)
	award=(money-60)*0.015+(money-100)*0.01;
	printf("  %f\n",award);
return 0;	
}
正确解答:
main()
{
long int i;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
if(i<=100000)
bonus=i*0.1;
else if(i<=200000)
bonus=bonus1+(i-100000)*0.075;
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
bonus=bonus10+(i-1000000)*0.01;
printf("bonus=%d",bonus);
}

//题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

我给出的答案:

#include<stdio.h>
#include<math.h>
main()
{
         inti,j,k,flag;
                   i=1;flag=10000;
                   while(flag)
              {
                   j=i+100;
                   k=j+168;
                   if(j==(int)sqrt(j)*(int)sqrt(j)&&k==(int)sqrt(k)*(int)sqrt(k))
                            printf("%d\n",i);
                            i++;
                            flag--;
                            }
                            return0;
         }
给出的答案为:

 #include<stdio.h>
#include<math.h>
int main()
{
       int i,j,k,flag;
       for(i=1;i<10000;i++)
<span style="font-family: Arial, Helvetica, sans-serif;">       {</span>

              j=(int)sqrt(i+100);
              k=(int)sqrt(i+268);
              if(j*j==i+100&&k*k==i+268)
              printf("%d\n",i);
 
       }
       return 0;
}
//题目:输入某年某月某日,判断这一天是这一年的第几天?
我的答案:	
#include<stdio.h>
	int main()
	{
		int year,month,day,flag,sec,prin;
		flag=0; 
		prin=0;
		scanf("%d,%d,%d",&year,&month,&day);
		
		if(flag==0)
		{
		sec=28;
		switch(month)
		{
			case 1:prin=day;break;
			case 2:prin=31+day;break;
			case 3:prin=31+28+day;break;
			case 4:prin=31+28+31+day;break;
				case 5:prin=31+28+31+30+day;break;
				case 6:prin=31+28+31+30+31+day;break;
				case 7:prin=31+28+31+30+31+30+day;break;
				case 8:prin=31+28+31+30+31+30+31+day;break;
				case 9:prin=31+28+31+30+31+30+31+31+day;break;
				case 10:prin=31+28+31+30+31+30+31+31+30+day;break;
				case 11:prin=31+28+31+30+31+30+31+31+30+31+day;break;
				case 12:prin=31+28+31+30+31+30+31+31+30+31+30+day;break;
			}
		flag=1;	
			}
		if((year%4==0&&year%100!=0)||(year%400==0))
			flag=2;//闰年 
		if(flag==2&&month>=3)
			prin=prin+1;
		printf("%d",prin);
		return 0;
	}

//题目:输入三个整数x,y,z,请把这三个数由小到大输出。
	#include<stdio.h>
	int main()
	{
		int t,i,j,k;
		scanf("%d%d%d",&i,&j,&k);
		if(i>j)
		{t=i;i=j;j=t;
		}
		if(i>k)
		{t=i;i=k;k=t;
		}
		if(j>k)
		{t=j;j=k;k=t;}
		printf("%d%d%d\n",i,j,k);
		
		return 0;
	}
//题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
	//后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
	//1 1 2 3 5 8
	#include<stdio.h>
	int main()
	{
		long f1,f2;
		int i;
		f1=f2=1;
		for(i=1;i<=20;i++)
		{
			printf("%12ld\n",f1);
			printf("%12ld\n",f2);
			f1=f1+f2;
			f2=f1+f2;
		}
		
		return 0;
	}
题目:判断1-200之间有多少个素数,并输出所有素数。
#include<stdio.h>
#include<math.h>
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=1;m<=200;m++)
{ 
k=sqrt(m+1);
for(i=2;i<=k;i++)//老是出错!!!
	if(m%i==0)
	{
	leap=0;
	break;
	}
	if(leap)
	{
	 printf("%-4d",m);
	 h++;
	if(h%10==0)
	printf("\n");
	}
leap=1;
}
printf("\nThe total is %d",h);
}
快考试了,考前刷刷题,先做了一些简单的,找找感觉,过了一个年变得很是生疏,题目不多,也算是挺经典的吧,用到了好多知识点。








posted @ 2016-03-04 16:34  Joe.Smith  阅读(202)  评论(0编辑  收藏  举报