本帖最后由 鸦领主 于 2020-11-29 18:31 编辑
1.输入一个年份判断是否是闰年(闰年判定方法:能被400整除。或者能被4整除但不能被100整除。)
#include<stdio.h>
#include<Windows.h>
int main()
{
int i;
while (1)
{
system("cls");
printf("请输入一个年份:");
scanf_s("%d", &i);
if (i %4==0 && i %100!=0 || i % 400==0)// i余4余0能被整除而且i余100有余数不能被整除或
printf("%d是闰年\n", i); //i余400有余数能被整除 俩个条件符合一个就可以
else
printf("%d不是闰年\n", i);
system("pause");
}
return 0;
}
C语言学习第七天 位运算练习
2. 使用位运算和循环,做出一个32位十进制转换二进制
#include<stdio.h>
#include<Windows.h>
int main()
{
while (1)
{
system("cls");
unsigned int i;
printf("请输入一个42亿以内的数字:");
scanf_s("%d", &i);
printf("转换为二进制的结果为:");
int n = 32;
while (n>0)
{
n--; // 循环32次的n为31-0
int t;
t = (i >> n) % 2; //循环32次i>>n=i/2的31次方%2,i>>n=i/2的30次方%2.......
printf("%d", t);
}
printf("\n");
system("\npause");
}
return 0;
}
C语言学习第七天 位运算练习
3.分别用if和?:对比出a b c三个变量哪个大(变量值自己设定)
if:
#include<stdio.h>
int main()
{
int a=40, b=30, c=50;
int n = 0;
if (a > b)
n = a;
else
n = b;
if (n < c)
n = c;
printf("%d", n);
}
C语言学习第七天 位运算练习
"?:" :
#include<stdio.h>
int main()
{
int a=40, b=30, c=50;
int t = a > b ? a : b;
t=t > c ? t: c;
printf("%d", t);
return 0;
}
C语言学习第七天 位运算练习
4.求1到15的阶乘(1*2*3*4*5*6...*15)
#include<stdio.h>
int main()
{
unsigned __int64 i = 1; //unsigned int 为42亿, unsigned __int64 为42亿*42亿
int n = 2;
while (n<16)//循环14次
{
i = i * n; //第一次i(1)*n(2)=2, 第二次i(2)*n(3)=6, 第三次i(6)*n(4)=24..........
printf("*%d的结果为:%I64u\n",n ,i);
n++;
}
return 0;
}
C语言学习第七天 位运算练习
|