C语言代码示例

 #include <stdio.h>
  #include <math.h>
  int main(int argc, char *argv[]) {
  //输出所有的水仙花数:一个三位数,每个位上的数字的立方之和等于该数本身
  int x,y,z;

  for (int i = 100; i < 1000; i++) {
      x = i/100;
      y = i/10-10*x;
      z = i-100*x-10*y;
      
      if(i == x*x*x + y*y*y + z*z*z){
          printf("这是一个水仙花数:%d\n",i);
      }
  }
  
  //求出小球每次弹起的高度
  int SumHeight = 100,times = 10;
  float height = 100;
  for (int i = 1; i <= times; i++) {
      
          height = height/2;
          printf("第%d次反弹的高度是%f\n",i,height);
  
          SumHeight = SumHeight + height*2;
      
  }
  
  printf("10次落地时,总共经过%d米\n",SumHeight);
  

  //输出1~100之间的素数
  int i,j,n,a[101];
  a[0]=0;
  for (i = 1; i <=100; i++) {
      a[i]=i;
  }
  a[1]=0;
  for (i = 2; i < sqrt(100); i++) {
      for (j = i+1; j <= 100; j++) {
          if(a[i]!=0 && a[j]!=0){
              if(a[j]%a[i]==0){
                  a[j]=0;
              }
          }
              
      }
  }
  
  for (i = 1,n = 0; i <= 100; i++) {
      if(a[i]!=0){
          printf("%3d",a[i]);
          n++;
      }
      if(n==10){
          printf("\n");
          n=0;
      }    
  }
  
  //输入十个数,将他们从小到大排序
  //1.选择排序:将a[i]与它后面的每个数作比较,把较小的放前面
  int i,j,t,a[10];
  for (i = 0; i < 10; i++) {
      printf("请输入一个数:");
      scanf("%3d",&a[i]);
  }
  printf("这个数组的元素:");
  for (i = 0; i < 10; i++) {
      printf("%3d",a[i]);
  }
  
  printf("\n");
  for ( i = 0; i < 10; i++) {
      for (j =i+1;j<10;j++) {
          if(a[j]<a[i]){
              t = a[j];
              a[j] = a[i];
              a[i] = t;
              
          }
      }
      
      printf("%3d",a[i]);
  }
  
  //2.冒泡排序:前后两个数作比较,直到最后两个数。
  int i,j,k,t,a[10];
  for (i = 0; i < 10; i++) {
      printf("请输入一个数:");
      scanf("%3d",&a[i]);
  }
  
  for (k = 0; k < 10-1; k++) {
      for (i=0;i<10-k-1;i++) {
          
          if(a[i+1]<a[i]){
              t = a[i+1];
              a[i+1] = a[i];
              a[i] = t;
          }    
              
      }
      
  }
  
  for (i = 0; i < 10; i++) {
      printf("%5d",a[i]);
  }
  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值