C语言1-分支语句与循环语句练习

296 阅读1分钟

1.判断一个数是否为奇数,并打印接下来所有奇数(1-100)

2.计算n的阶层!

3.将三个数由大到小排序

4.打印3的倍数(1-100)

5.给定两个数,求最大公因数

6.计算1-100之间含9的个数

7.打印99乘法口诀表

8.判断1000-2000之间的闰年,并统计

9.判断素数

1.1判断一个数是否为奇数,并打印接下来所有奇数(1-100)

 #include<stdio.h>
 int main()
 {
     int num=0;
     scanf_s("%d",&num);
     while(num<=100)
     {
         if(num%2==1)
         printf("%d ",num);
         num++;
     }
     return 0;
 }

2.1计算n的阶层

 #include<stdio.h>
 int main()
 {
     int num,i;
     int ret = 1;
     scanf_s("%d", &num);
     for (i = 1; i <=  num; i++)
     {
         ret = ret * i;
     }
     printf("%d", ret);
     
     return 0;
 }
 ​

3.1将三个数由大到小排序

 #include<stdio.h>
 int main()
 {
     int a,b,c;
     scanf_s("%d%d%d",&a,&b,&c);
     if(a<b)
     {
         int tmp=a;
         a=b;
         b=tmp;
     }
     if(a<c)
     {
         int tmp=a;
         a=c;
         c=tmp;
     }
     if(b<c)
     {
         int tmp=b;
         b=c;
         c=tmp;
     }
     
     printf("%d %d %d",a,b,c);
     return 0;
 }

4.1打印3的倍数(1-100)

 #include<stdio.h>
 int main()
 {
 int num,i;
 for(i=1;i<100;i++)
 {
     if(i%3==0)
     printf("%d ",i);
 }
 ​
     return 0;
 }

5.给定两个数,求最大公因数

 #include<stdio.h>
 int main()
 {
     int num,a,b;
     scanf("%d%d",&a,&b);
     while(a%b)//a%b结果为0,则不执行该循环
     {
         num=a%b;
         a=b;
         b=num;
     }
     printf("%d",b);
     return 0;
 }
 ​
 //使用辗转相除法
 //使用较大的数a除以较小的数b,如果余数=0.则商num为结果。
 //如果余数!=0,则用较小的数b除以商num
 //循环该步骤,--  直到商为0

6.计算1-100之间含9的个数

 #include<stdio.h>
 int main()
 {
 int i,count;
 for(i=0;i<100;i++)
 {
     if(i%10==9)//余数为9的数 
     {
     printf("%d ",i);
     count++;
     }
     if(i/10==9)//除法取整为9的数 
     {
     printf("%d ",i);
     count++;
     }
 }
 printf("\n一共有%d个",count);
     return 0;
 }

7.打印99乘法口诀表

 #include<stdio.h>
 int main()
 {
     int i,j;
     for(i=0;i<9;i++)//打印i行 
     {
         for(j=0;j<i;j++)//打印j列 
         {
             printf("%d*%d=%-2d ",i,j,i*j);//-2d=打印两个数字并左对齐 
          } 
         printf("\n");//换行 
     }
     
     return 0;
 }

8.判断1000-2000之间的闰年,并统计

 #include<stdio.h>
 int main()
 {
     int year,count;
     for(year=1000;year<2000;year++)
     {
         if(year%400==0)
         {
             printf("%d\n",year);
             count++;
         }
         if(year%4==0&&year%100!=0)
         {
             printf("%d\n",year);
             count++;
         }
     }
     printf("\n%d",count);
     
     return 0;
 }
 ​
 //判断闰年的两种方法
 //法一:能被400整除的数
 //法二:能被4整除并且不能被100整除的数 
 ​

9.判断素数

 #include<stdio.h>
 int main()
 {
     while(1)//无限循环判断 
 {
   int i,j=0;
   int ret=1; 
   scanf_s("%d",&i);
     if(i==2)//特殊值素数2 
     printf("是素数\n",i);  
     
     if(i==1)//特殊值非素数1 
     printf("不是素数\n"); 
     
     for(j=2;j<=i-1;j++)//在2-(i-1)中作除法 
     {
         if(i%j==0)//i%j==0如果成立则非素数 
         {
         printf("不是素数\n");
         int ret=0; //保证跳出循环后会执行下面的if语句里面的内容 
         break;
         }
     }
     if(ret!=0)
     {
         printf("是素数\n",i);
     }
 }
     return 0;
 }
 ​
 //判断素数i 
 //尝除法,在2-(i-1)中 找一个数,如果能被i整除,则不是素数  
 ​

跳转 c语言1-分支语句和循环语句