m0_63444449 2021-11-16 23:05 采纳率: 79.1%
浏览 41
已结题

大家看看这几个题要怎么整啊

1题
多少个7。

描述

从键盘读入一个整数,求该数中有多少位是7

输入

一个整数

输出

该整数中7的个数

样例输入

4757

样例输出

2

2题
判断某年是否是闰年。

输入

输入只有一行,包含一个整数a(0 < a < 3000)

输出

一行,如果公元a年是闰年输出Y,否则输出N

样例输入

2006

样例输出

N

提示

公历纪年法中,能被4整除的大多是闰年,但能被100整除而不能被400整除的年份不是闰年, 能被3200整除的也不是闰年,如1900年是平年,2000年是闰年,3200年不是闰年。

3题
在正方形里面还是外面。

描述

有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。写一个程序,判断一个给定的点是否在这个正方形内(包括正方形边界)。

输入

输入一行,包括两个整数x、y,以一个空格分开,表示坐标(x,y)。

输出

输出一行,如果点在正方形内,则输出yes,否则输出no。

样例输入

1 1

样例输出

yes

4题
最大公约数。

描述

给定两个正整数,求它们的最大公约数。

输入

输入一行,包含两个正整数,中间用空格隔开。(<1,000,000,000)。

输出

输出一个正整数,即这两个正整数的最大公约数。

样例输入

6 9

样例输出

3

提示

求最大公约数可以使用辗转相除法:

假设a > b > 0,那么a和b的最大公约数等于b和a%b的最大公约数,然后把b和a%b作为新一轮的输入。

由于这个过程会一直递减,直到a%b等于0的时候,b的值就是所要求的最大公约数。

比如:

9和6的最大公约数等于6和9%6=3的最大公约数。

由于6%3==0,所以最大公约数为3。

  • 写回答

1条回答 默认 最新

  • 南七灵 2021-11-16 23:41
    关注

    1.

    #include <stdio.h>
    
    int main()
    {
        int n,res = 0;
        scanf("%d", &n);
        while(n > 0){
            if(n % 10 == 7){
                res ++;
            }
            n /= 10;
        }
        printf("%d", res);
        return 0;
    }
    

    2.

    #include <stdio.h>
    int main()
    {
        int year, a;
        scanf("%d", &year);
        if (year % 400 == 0)
            a = 1;
        else
        {
            if (year % 4 == 0 && year % 100 != 0)
                a = 1;
            else
                a = 0;
        }
        if (a == 1)
        {
            printf("Y");
        }
        else
        {
            printf("N");
        }
        return 0;
    }
    

    3.

    #include <stdio.h>
    int main()
    {
        int x,y;
        scanf("%d%d",&x,&y);
        if(x <= 1 && x >= -1 && y <= 1 && y >= -1){
            printf("yes");
        }else{
            printf("no");
        }
        return 0;
    }
    

    4.

    #include <stdio.h>
    int main()
    {
        int m, n, temp, i;
        scanf("%d%d", &m, &n);
        if (m < n) /*比较大小,使得m中存储大数,n中存储小数*/
        {          /*交换m和n的值*/
            temp = m;
            m = n;
            n = temp;
        }
        for (i = n; i > 0; i--) /*按照从大到小的顺序寻找满足条件的自然数*/
            if (m % i == 0 && n % i == 0)
            { /*输出满足条件的自然数并结束循环*/
                printf("%d", i);
                break;
            }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月25日
  • 已采纳回答 11月17日
  • 创建了问题 11月16日

悬赏问题

  • ¥15 hexo+github部署博客
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?