本帖最后由 Guido 于 2020-10-18 20:52 编辑
1.从键盘输入一个表示年份的数(1000~4000),判断该年是否闰年,并输出结果。(四年一润,百年不润,四百年在润)#include<stdio.h>
int main()
{
int n;
printf("请输入一个年份数(1000~4000)");
scanf_s("%d", &n);
if (n % 4 ==0 && n % 100 != 0 || n % 400 == 0)
printf("%d年是闰年", n);
else
printf("%d年不是闰年", n);
return 0;
}
2.使用位运算和循环,(不使用除法)在键盘输入一个数字,使用循环语句打印一个32位二进制排列。#include<stdio.h>
int main()
{
unsigned int n;
int i=32;
int k;
printf("请输入一个42亿以内的数值\n");
scanf_s("%u", &n);
while(i>0)
{
k = (n >> i )% 2;
printf("%u", k);
i--;
}
return 0;
}
3.求1到15的阶乘的和。(unsigned int或者double)#include<stdio.h>
//求1到15的阶乘的和。
int main()
{
int n=1;
int i=1;
unsigned __int64 fac=1; //声明64位的,即8个字节
for (n; n < 16; n++)
{
while (i < n + 1)
{
fac *= i;
i++;
}
printf("%I64u\n",fac); //打印的时候要记住是%I64u u表示无符号 %I64d或者%I64u I一定是大写的
}
return 0;
}
4.有整型变量a、b、c,分别用if语句和?:操作符的方式求出其中的最大值。(变量值自己设定)#include<stdio.h>
//int main()
//{
// int a, b, c,max;
// printf("请输入三个数值\n");
// scanf_s("%d%d%d", &a, &b, &c);
// if (a > b)
// max = a;
// else
// max = b;
// if (max < c)
// max = c;
// printf("最大值为%d", max);
// return 0;
//}
int main()
{
int a, b, c, max;
printf("请输入三个数值\n");
scanf_s("%d%d%d", &a, &b, &c);
(a > b)? max = a: max = b;
(max < c) ? max = c : max = max;
printf("最大值为%d", max);
return 0;
}
|