2021-03-18

问题
小斐和他的计算器
题目描述
最近小斐的手机手机坏掉了,看着其他小伙伴们一起用手机玩游戏,他只能拿着不知道从哪里找来的计算器玩了。
无聊的他开始数那些数字的笔画,他想知道每一个数字,横着竖着分别有多少笔画?(输入中只有0-9)

输入
数据的第一行为一个数字T,表示数据的组数。
每组数据有一个数字(长度小于100)
输出
每组数据需要你计算两个数据,分别是横着有几画,竖着有几画。
样例输入
copy
2
123
456
Made by hxl.
样例输出
6 6
7 8
提示
注意:有断点即为一画,‘1’为两画。
代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int t,i,n,k;
    char a[100];
    scanf("%d\n",&t);
    for(k=0;k<t;k++)
    {

        gets (a);
        n=strlen(a);
        int n1=0;
        int m1=0;
        int h1=0;
        int h=0;
        int m=0;
       for(i=0;i<n;i++){
           if(a[i]=='0')
            {
                m=2;
                h=4;
            }
          if(a[i]=='1')
            {
                m=0;
                h=2;
            }
           if(a[i]=='2')
            {
                m=3;
                h=2;
            }
           if(a[i]=='3')
            {
                m=3;
                h=2;
            }
            if(a[i]=='4')
            {
                m=1;
                h=3;
            }
           if(a[i]=='5')
            {
                m=3;
                h=2;
            }
            if(a[i]=='6')
            {
                m=3;
                h=3;
            }
            if(a[i]=='7')
            {
                m=1;
                h=2;
            }
           if(a[i]=='8')
            {
                m=3;
                h=4;
            }
            if(a[i]=='9')
            {
                m=3;
                h=3;
            }

            m1=m1+m;
            h1=h1+h;

        }
        printf("%d %d\n",m1,h1);
    }

    return 0;
}

运行结果:
在这里插入图片描述
总结:
写了好长时间,改了好多遍,终于对了。首先,输入每组数据的长度小于一百,所以不能用int型变量,最好的方法是将其当成一个字符串输入,最外层的for循环表示输入t组数据。再一个一个字符串的判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值