分布式机器 django 联合主键 unity csv generics woocommerce ssis mono formvalidator.js nginx默认端口号 coreldraw学习 dplayer不能全屏 pythonsocket编程 python调用方法 java基础语言 搭建java环境 java搭建 java中的string java类的继承 java求阶乘 java删除文件 变量的类型 java流程 java语言编程 金山wps2003 千千静听绿色版 rndis驱动下载 cf透视辅助 生存猎人属性 js刷新页面 幽灵行动多少钱 js取余数 winhex中文版下载 梦想世界科举答案 机械换装 字体模糊 imacros 打印机怎么换色带 信用卡号生成器
当前位置: 首页 > 学习教程  > 编程语言

统计——sprintf的使用和数字与字符串的转换

2020/11/24 9:42:29 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

统计——sprintf的使用和数字与字符串的转换 题目描述 在数字王国中,有900多种三位数。他们都是由三个数字组成,且最高位不为零。其中有很多种是:三个数中有两个是相同的数字。例如:112、121、211…… 现给出N个三位数,请你统计…

统计——sprintf的使用和数字与字符串的转换

题目描述

在数字王国中,有900多种三位数。他们都是由三个数字组成,且最高位不为零。其中有很多种是:三个数中有两个是相同的数字。例如:112、121、211……
现给出N个三位数,请你统计出有多少个是两个数字相同的三位数。

输入

输入数据有两行。
第一行只有一个数N(1<=N<=100000)
第二行有N个三位数,每个数有一个空格隔开。

输出

输出只有一个数,即统计出有多少个是两个数字相同的三位数。

样例输入

5
123 113 111 442 113

样例输出

3

题解/思路

题意均为三位数,则就是简单的字符串和数字之间的转化和运用,将读入的数字转化为一个一个的字符,再比较三个字符中是否存在“三个数中有两个数相同”,使用一个计数器即可。

代码

#include <bits/stdc++.h>

#define N 100000

using namespace std;

int main()
{
    int n,i,j,num[N];
    int count=0;
    char str[1000]={'0'};//定义字符串数组
    cin>>n;
    for(i=0;i<n;i++)
    {
        cin>>num[i];//定义并读入数字数组,即存入三位数的每一位
        sprintf(str,"%d",num[i]);//将读入的数组,通过sprintf转入为字符串
        for(j=0;j<3;j++){
            if(str[j]==str[j+1]||str[j]==str[j+2]||str[j+1]==str[j+2])
                count++;
                break;
        }
        int a=num[i]%10;
        int b=num[i]/10%10;
        int c=num[i]/100;
        if(a==b&&a==c&&b==c)
            count--;
    }
    printf("%d",count);
    return 0;
}

本文链接: http://www.dtmao.cc/news_show_400097.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?