C语言经典编程合集一、最大公约数 二、两个数的最小公倍数和最大公约数 三、求100~1000内的水仙花数 四、判断闰年 五、输入10个数排序 六、输入10个数排序——冒泡法 七、九九乘法表输出 八、斐

一、最大公约数

// 判断两个数的最小公倍数
// 求两数的最小公倍数
#include<stdio.h>                   //头文件
int main()                          //主函数
{
  int i,j,n,val;                        //定义整型变量
  printf("请输入两个数:");         //提示语句
  scanf("%d %d", &i, &j);     //键盘输入两个数
  for(n=i;n<i*j;n++)
  {
    if(n%i==0 && n%j==0)
      break;
  }
  printf("%d和%d的最小公倍数为%d\n",i,j,n);
  return 0;
}

二、两个数的最小公倍数和最大公约数

 两个数的最小公倍数和最大公约数
//[【3】判断两个数的最大公约数和最小公倍数
#include<stdio.h>                   //头文件
int main()                          //主函数
{
  int i,j,n,val;                        //定义整型变量
  printf("请输入两个数:");         //提示语句
  scanf("%d %d", &i, &j);     //键盘输入两个数
  for(n=i;n>0;n--)
  {
    if(i%n==0 && j%n==0)
    {
      val=i*j/n;
      break;
    }
  }
  printf("%d和%d的最大公约数为%d\n",i,j,n);
  printf("%d和%d的最小公倍数为%d\n",i,j,val);
  return 0;
}

三、求100~1000内的水仙花数

100~1000内的水仙花数
//[【2】判断100~1000内的水仙花数
#include <stdio.h>
int main()
{
  int a,b,c,val1,val2;
  for(a=1;a<10;a++)
  {
    for(b=0;b<10;b++)
    {
      for(c=0;c<10;c++)
      {
        val1=100*a+10*b+c;
        val2=a*a*a+b*b*b+c*c*c;
        if(val1==val2)
        {
          printf("水仙花数有: ");
          printf("%d\n",val2);
        }
      }
    }
  }
  return 0;
}

//水仙花数的第二种方法

#include <stdio.h>
int main()
{
  int a,b,c,i;
  for(i=100;i<=999;i++)       //水仙花为三位数,让i在100~999以内循环
  {
    a=i/100;                  //取百分位数,除以100取商
    b=i/10-a*10;              //取十分位,
    c=i%10;                   //直接取余数,得到各位    
    if(i==a*a*a+b*b*b+c*c*c)  //判断三者的立方是否等于原来的数,如是,执行{}中语句,输出i,不换行,逗号隔开
    {
      printf("%d,",i);        //输出i
    }
  }
  return 0;
}

四、判断闰年

#include <stdio.h>
int main()
{
  int year;
  printf("please input a year:  ");
  scanf("%d",&year);
  if((year%4==0&&year%100!=0||year%400==0))       //if条件语句判断,
  {
    printf("%d是闰年",year);
  }
  else 
  {
    printf("%d不是闰年\n",year);
  }
  return 0;
}

五、输入10个数排序

#include<stdio.h>//头文件
int main()//主函数
{
  printf("请输入10个数\n");
  int a[10];                    //定义整型数组,数组的长度为10
  int i,j,m;
  float sum=0.00,average;       //定义浮点型变量
  for(i=0;i<10;i++)             //遍历10次,获取输入的10个值
  {
    scanf("%d",&a[i]);          //获取键盘录入的10个值
  }

  for (i=0;i<10;i++)           
  {
    m=a[i];                     //循环10次,将数组中a[0]——a[10]的值的不断赋给m
    j=i-1;                      //将i-1的值赋给j
    while((a[j]<m)&&(j>=0))     //当a[j]的值小于m
    {
      a[j+1] = a[j];            //当a[j]的值小于m,将a[j+1]对应的数组中的值赋给
      j=j-1;                    //让j自减
    }
  a[j+1]=m;                     //再将m的值赋给a[j+1],直至循环10次后结束
  }

  printf("从大到小的排序结果:");
  for(i = 0;i<10;i++)
  {
    printf("%d ",a[i]);
    sum=sum+a[i];
    average=sum/10;
  }
  printf("\n这十个数的和为:    %0.2f",average);
}

六、输入10个数排序——冒泡法

#include<stdio.h>                   
int main()                       
{
  int i,j,t,a[10];                   
  printf("请连续输入10个数:\n");                  
  for(i=0;i<10;i++)
  {
    scanf("%d",&a[i]);
  }

  for(j=0;j<10;j++)
  {
    for(i=0;i<10-j;i++)
    {
      if(a[i]>a[i+1])
      {
        t=a[i];
        a[i]=a[i+1];
        a[i+1]=t;
      }
    }
  }

  printf("按照从小到大进行排序");
  for(i=0;i<10;i++)
  {
    printf("%d ",a[i]);
  }
  return 0;
}

七、九九乘法表输出

#include<stdio.h>                   
int main()                       
{
  int i,j,n;                   
  for(i=1;i<=9;i++)
  {
    for(j=1;j<=i;j++)
    {
      printf("%d*%d=%0.2d  ",i,j,i*j);   
    }
    printf("\n");
  }
  return 0;
}

八、斐波拉杰数列

//斐波拉杰数列
#include<stdio.h>                   
int main()                       
{
  int i,f[20]={1,1},sum=0; 
  printf("各项数值分别为:");                               
  for(i=0;i<20;i++)
  {
    f[i+2]=f[i+1]+f[i];
    printf("%d ",f[i]);
    sum=sum+f[i];
  }
  printf("\n");
  printf("前20项和%d",sum);
  return 0;
}

九、100钱可以买5块的公鸡、3块的母鸡、1块三个小鸡各多少只

#include<stdio.h>                   //头文件
int main()                          //主函数
{
  int x,y,z,i;                        //定义整型变量
  printf("公鸡、母鸡、小鸡的只数分别为:\n"); 
  for(x=0;x<=20;x++)                 //公鸡最大只数100/5=20只
  {
    for(y=0;y<=33;y++)              //公鸡最大只数100/3=33只
    {
      z=100-x-y;
      i=5*x+3*y+z*1/3;
      if(i==100 && z%3==0)
      {
        printf("%2d %2d %2d\n",x,y,z); 
      }
    }
  }
  return 0;
}

十、鸡兔同笼

#include<stdio.h>                   //头文件
int main()                          //主函数
{
  int x,y,i;                        //定义整型变量
  for(x=0;x<=13;x++)                 //兔子最大只数52/4=13只
  {
    for(y=0;y<=20-x;y++)
    {
      i=4*x+2*y;
      if(i==52  &&  x+y==20)
      {
        printf("兔和鸡的只数分别为%d %d\n",x,y); 
      }
    }
  }
  return 0;
}

十一、阶乘求和

//阶乘求和

#include <stdio.h>
int main()
{
  int i,sum=0,a=1;
  i=1;
  for(i=1;i<=20;i++)
  {
    a=i*a;         //阶乘表达式
    sum=sum+a;     //求和
  }
  printf("%d\n",sum);
  return 0;
}

十二、随机输入一个数求n项和

//随机输入一个数求n项和
#include<stdio.h>
int main()
{            
  int i = 0,sum=0,n;
  printf("请依次输入一个正整数n:\n");
  scanf("%d", &n);
  for (i = 0; i <=n; i++)
  {
    sum=sum+i;
  }
  printf("%d\n",sum);
  return 0;
}

十三、2~100间的质数

//2~100间的质数
#include<stdio.h>                   
int main()                       
{
  int i,j,n;                   
  for(i=2;i<100;i++)
  {
    for(j=2;j<i;j++)
    {
      n=0;
      if(i%j == 0)
      {
        n=1;
        break;
      }
    }

    if(n==0)
    {
      printf("%d ",i);
    }
  }
  return 0;
}

十四、杨辉三角输出8行

#include<stdio.h>                   //头文件
int main()                          //主函数
{
  int i,j,a[8][8]={0};

  for(i=0;i<=8;i++)
  {
    a[i][0]=1;
    a[i][i]=1;
  }

  for(i=2;i<8;i++)
  {
    for(j=1;j<=i;j++)
      a[i][j]=a[i-1][j-1]+a[i-1][j];
  }

  for(i=0;i<8;i++)
  {
    for(j=0;j<=i;j++)
    {
      printf("%3d",a[i][j]);  
    }
    printf("\n");
  }
  return 0;
}

十五、完数(一个数等于其因子之和)

eg:6=1+2+3;28=1+2+4+7+14;

//完数
#include<stdio.h>                   //头文件
int main()                          //主函数
{
  int i,j,sum=0;
  for(i=2;i<100;i++)
  {
    sum=0;
    for(j=1;j<i;j++)
    {
      if(i%j==0)
      {
        sum=sum+j;
      }
    }
    if(sum==i)
    {
      printf("%d",i);
      printf("\n");
    }
    
  }
  return 0;
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

群智能算法小狂人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值