原创 网络小程序

2011-9-26 19:19 1221 3 4 分类: MCU/ 嵌入式

1:1,2,3,4四个数字能组成多少个互不相同并且没有重复的三位数?

#include<reg51.h>
#include<stdio.h>

void main()
{
  unsigned char i,j,k;
  for(i=1;i<5;i++)
  {
     for(j=1;j<5;j++)
     {
        for(k=1;k<5;k++)
        {
          if(i!=k&&i!=j&&j!=k)
          {
          }
        }
     }
  }
}

2:企业发放的奖金根据利润提成。利润(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<reg51.h>

void main()
{
  unsigned long i;
  unsigned int Bonus1,Bonus2,Bonus4,Bonus6,Bonus10,Bonus;
  Bonus1=100000*0.1;
  Bonus2=Bonus1+100000*0.075;
  Bonus4=Bonus2+200000*0.05;
  Bonus6=Bonus4+200000*0.03;
  Bonus10=Bonus6+400000*0.015;
  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-200000)*0.03;
          else if(i<=1000000) Bonus=Bonus6+(i-400000)*0.015;
            else Bonus=Bonus10+(i-1000000)*0.01;
  printf("Bonus is %d",Bonus);
 
}

3:一个整数,加上100以后可以开方,再加上168又可以开方,求此数的值!

#include<reg51.h>
#include<math.h>

void main()
{
  unsigned long i;
  unsigned int x,y;
  for(i=1;i<100000;i++)
  {
    x=sqrt(i+100);
    y=sqrt(i+268);
    if(x*x==i+100&&y*y==i+268) /*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
    {
      printf("\n%ld\n",i);
    }
  }
}
4:输入某年某月某日,判断这天是这年的第几天?

#include<reg51.h>
#include<stdio.h>

void main()
{
   unsigned int year,sum;
   unsigned char month,day,leap;
   printf("\nplease input month and day\n");
   scanf("%d,%d",&month,&day);
   switch(month)
   {
     case 1:sum=0;
     case 2:sum=31;
     case 3:sum=59;
     case 4:sum=90;
     case 5:sum=120;
     case 6:sum=151;
     case 7:sum=181;
     case 8:sum=212;
     case 9:sum=243;
     case 10:sum=273;
     case 11:sum=304;
     case 12:sum=334;
     defaut:printf("input wrong month");
   }
   sum+=day;
   if((year%4==0&&year%100!=0)||(year%400==0)) leap=1;
   else leap=0;
   if(leap==1&&month>2) sum++;
   printf("it is the %dday\n",sum);
  
}

5:输入三个数,把他们从小到大输出

void main()
{
  unsigned int x,y,z,t;
  printf("input three number:\n");
  scanf("%d,%d,%",&x,&y,&z);
  if(x>y)
  {
    t=x;x=y;y=t;
  }
  if(x>z)
  {
    t=x;x=z;z=t;
  }
  if(y>z)
  {
    t=y;y=z;z=t;
  }
  printf("small to big is:",x,y,z);
}

6:输出9*9口诀表

#include<reg51.h>
#include<stdio.h>

void main()
{
   unsigned char i,j,result;
   printf("\n");
   for(i=1;i<10;i++)
   {
     for(j=1;j<10;j++)
     {
        result=i*j;
        printf(("%d*%d=%-3d",i,j,result);//-3d表示左对齐,占3位
     }
     printf("\n");
   }
}

7:输出国际象棋棋盘

#include<reg51.h>
#include<stdio.h>

void main()
{
  unsigned char i,j;
  for(i=0;i<8;i++)
  {
    for(j=0;i<8;j++)
    {
      if((i+j)%2==0) printf("%c%c",219,219);
      else printf(" ");
    }
    printf("\n");
  }
}

8:古典问题:有一对兔子,从第三个月开始生一对兔子,以后每个月同样生一对兔子。小兔子长到第三个月开始同 

   样开始生一对小兔子,假如二十个月内兔子都没有死掉,问每个月的兔子数是多少??(1,1,2,3,5,8,13.....)

#include<reg51.h>

void main()
{
  unsigned char i,f[20];
  f[1]=f[2]=1;
  for(i=3;i<=20;i++)
  {
    f=f[i-1]+f[i-2];
    if(i%4==0;)printf("\n");
  }
}
9:判断m是否是素数

#include<reg51.h>
#include<math.h>
#include<stdio.h>

void main()
{
   int m,i,k;
   printf("input a number\n");
   scanf("%d",&m);
   k=sqrt(m+1);
   for(i=2;i<=k;i++);
   {
      if(m%i==0)beak;
   }
   if(i>k) printf("%d is a prime number\n");
   else printf("%d is not a prime number\n");
}

9:判断101到200之间有多少个素数,并将其输出。

#include<reg51.h>
#include<math.h>

void main()
{
  unsigned char i,j,k,h,flag=1;
  for(i=101;i<=200;i++)
  {
    k=sqrt(i+1);
    for(j=2;j<=k;)
    {
      if(i%j==0)
      {
        flag=0;
        break;
      }
    }
    if(flag)
    {
      printf("%d",i);
      h++;
      if(h%10==0) printf("\n"); 
    }
    flag=1;
  }
}

10: 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
  本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

#include<reg51.h>

void main()
{
  unsigned char i,j,k,n;
  for(n=100;n<1000;n++)
  {
    i=n%10;
    j=(n/10)%10;
    k=n/100;
    if(n=i*i*i+j*j*j+k*k*k)
    {
      printf("%d",n);
    }
  }
}
11:题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,
      60分以下的用C表示。

#include<reg51.h>
#include<stdio.h>
void main()
{
  unsigned char score;
  char grade;
  printf("please input a score\n");
  scanf("%d",&score);
  grade=score>=90? 'A'score>60? 'B':'C');
  printf("%d belong to %d",score,grade);
}
12:输入两个正整数m和n,求其最大公约数和最小公倍数。

#include<reg51.h>

void main()
{
  unsigned int a,b,temp,num1,num2;
  printf("please input two numbers\n");
  scanf("%d,%d",&num1,&num2);
  if(num1<num2)
  {
    temp=num1;
    num1=num2;
    num2=temp;
  }
  a=num1;b=num2;
  while(b!=0)
  { 
     temp=a%b;
     a=b;
     b=temp;
  }
  printf("最大公约数是",a);
  printf("最小公倍数是",num1*num2/a);
}

13:题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

#include<reg51.h>
#include<stdio.h>

void main()
{
  unsigned char i,n;
  printf("input a number:\n");
  scanf("%d",&n);
  printf("n is %d",n);
  for(i=0;i<=n;i++)
  {
    while(n!=i)
    {
      if(n%i==0)
      {
         printf("%d",i);
         n=n/i;
      }
    }
  }
  printf("%d",n);
}

14:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
  第10次落地时,共经过多少米?第10次反弹多高?

#include<reg51.h>
#include<stdio.h>

void main()
{
  float sn=100,hn=sn/2;
  unsigned char i;
  for(i=2;i<=10;i++)
  {
    sn=sn+2*hn;
    hn=hn/2;
  }
  printf("the total of road is %f\n",sn);
  printf("the tenth is %f meter\n",hn);
}
15: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
   第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
  的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

#include<reg51.h>

void main()
{
   unsigned int x1,x2;
   unsigned char day;

   day=9;
   x2=1
   while(day>0)
   {
     x1=(x2+1)*2;
     x2=x1;
     day--;
   }
   printf("the total is %d\n",x1);
}

16:求1+2!+3!+...+20!的和

#include<reg51.h>
#include<stdio.h>

void main()
{
   unsigned int t=1,sum=0;
   unsigned char i;
   for(i=1;i<20;i++)
   {
      t=t*i;
      sum=sum+t; 
   }
   printf("the total is %d\n",sum);
}

17:重入函数的简单使用

#include<reg51.h>

unsigned int JieCheng(unsgined char n)  reentrant
{
  unsigned int result;
 
  if(n-1) result=n*JieCheng(n-1);
  else result=1;
  return result;
}

void main()
{
  int result;
  result=JieCheng(5);
  while(1)
}

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户319049 2011-10-20 10:43

对初学者很有用!
相关推荐阅读
用户1629785 2011-10-26 02:31
要搞好与老板的关系
干得好,还要与老板关系搞得好   第2章   干得好,  还要与老板关系搞得好  老板需要的人不一定  最有能力  俗话说得好,三个臭皮匠顶一个诸葛亮。诸葛亮聪明,是个非常有能力的人,但臭皮匠呢,明...
用户1629785 2011-10-24 00:55
MOS 场效应管的工作原理及特点
MOS 场效应管的工作原理及特点   场效应管是只有一种载流子参与导电,用输入电压控制输出电流的半导体器件。有N沟道器件和P沟道器件。有结型场效应三极管JFET(Junction Field...
用户1629785 2011-10-19 15:38
宏晶STC单片机EEPROM读写
#include<reg51.h>//#include<intrins.h> #define uchar unsigned char#define uint  unsigned...
用户1629785 2011-10-16 20:29
RIFF文件格式
1. 简介 RIFF全称为资源互换文件格式(ResourcesInterchange FileFormat),RIFF文件是windows环境下大部分多媒体文件遵循的一种文件结构,RIFF文件所包含的...
用户1629785 2011-10-16 01:38
文件名匹配测试程序
/*********************************************************************** - 功能描述:文件名匹配(支持带*?通配符的文件名的匹...
用户1629785 2011-10-15 00:47
读znFAT笔记
FAT文件系统整体概述        MBR:0扇区,分区记录,不一定每个磁盘都有MBR.   DBR:可能位于0扇区,若不在0扇区则由MBR计算得到他的位置,以0XEB开始,记录该分区重要参...
EE直播间
更多
我要评论
1
3
关闭 站长推荐上一条 /1 下一条