Passepartout 发表于 2022-2-7 15:37:46

求解

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



ABCDEFAHIJPLMNOT

123456789 10 11 12 13 14 15 16
其中每个大写字母代表一种颜色的彩笔,第 11 支与第 77 支的彩笔颜色相同。

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

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

如果有 2 支笔的颜色一样,以先小后大的顺序输出 2 支相同颜色笔的位置序号,2 个位置序号之间用空格分开。

Passepartout 发表于 2022-2-7 16:36:56

c++解

傻眼貓咪 发表于 2022-2-7 17:54:11

新年快乐。
如题,请问第 11 支与第 77 支的彩笔颜色是怎样相同的?不是很明白,如下表,第 11 支是 P,第 77 支是 M:
#include <stdio.h>

int main()
{
    char color = {'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);
   
    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   910 1213141516
17181920212223242526272829303132
33343536373839404142434445464748
49505152535455565758596061626364
656667686970717273747576 787980

傻眼貓咪 发表于 2022-2-7 18:06:10

不知道是不是你要的:#include <iostream>

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

int main()
{
    char color;
    int arr = {0};
    for(int i = 0; i < 16; i++){
      cin >> color;
      arr]++;
    }
    int n = 1;
    bool flag = true;
    for(int i: color){
      if(arr > 1){
            flag = false;
            cout << n << " ";
      }
      n++;
    }
    if(flag) cout << "different" << endl;
    return 0;
}
页: [1]
查看完整版本: 求解