鱼C论坛

 找回密码
 立即注册
查看: 1546|回复: 3

[已解决]求解

[复制链接]
发表于 2022-2-7 15:37:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Passepartout 于 2022-2-7 16:37 编辑



A  B  C  D  E  F  A  H  I  J  P  L  M  N  O  T

1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
其中每个大写字母代表一种颜色的彩笔,第 11 支与第 77 支的彩笔颜色相同。

输入格式
输入只有 16 个大写字母,分别代表彩笔的不同颜色。

输出格式
如果 16 支笔的颜色各不相同,输出“different”(引号中的部分)。

如果有 2 支笔的颜色一样,以先小后大的顺序输出 2 支相同颜色笔的位置序号,2 个位置序号之间用空格分开。
最佳答案
2022-2-7 18:06:10
不知道是不是你要的:
#include <iostream>

using std::cin, std::cout, std::endl; // C++17

int main()
{
    char color[16];
    int arr[128] = {0};
    for(int i = 0; i < 16; i++){
        cin >> color[i];
        arr[color[i]]++;
    }
    int n = 1;
    bool flag = true;
    for(int i: color){
        if(arr[i] > 1){
            flag = false;
            cout << n << " ";
        }
        n++;
    }
    if(flag) cout << "different" << endl;
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-2-7 16:36:56 | 显示全部楼层
c++解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-7 17:54:11 | 显示全部楼层
新年快乐。
如题,请问第 11 支与第 77 支的彩笔颜色是怎样相同的?不是很明白,如下表,第 11 支是 P,第 77 支是 M:
#include <stdio.h>

int main()
{
    char color[16] = {'A', 'B', 'C', 'D', 'E', 'F', 'A', 'H', 'I', 'J', 'P', 'L', 'M', 'N', 'O', 'T'};
    for(int i = 0; i < 16; i++)
    printf("%4c", color[i]);
    
    printf("\n");
    for(int i = 1; i < 81; i++){
        if(i == 11 || i == 77) printf(" [%2d]", i);
        else if(i-1 == 11 || i-1 == 77) printf("%3d", i);
        else printf("%4d", i);
        if(!(i%16)) printf("\n");
    }
    return 0;
}
   A   B   C   D   E   F   A   H   I   J   P   L   M   N   O   T
   1   2   3   4   5   6   7   8   9  10 [11] 12  13  14  15  16
  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32
  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48
  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64
  65  66  67  68  69  70  71  72  73  74  75  76 [77] 78  79  80
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-7 18:06:10 | 显示全部楼层    本楼为最佳答案   
不知道是不是你要的:
#include <iostream>

using std::cin, std::cout, std::endl; // C++17

int main()
{
    char color[16];
    int arr[128] = {0};
    for(int i = 0; i < 16; i++){
        cin >> color[i];
        arr[color[i]]++;
    }
    int n = 1;
    bool flag = true;
    for(int i: color){
        if(arr[i] > 1){
            flag = false;
            cout << n << " ";
        }
        n++;
    }
    if(flag) cout << "different" << endl;
    return 0;
}

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
Passepartout + 1 + 1 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-28 18:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表