本帖最后由 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;
}
  
 
 
 
 |