鱼C论坛

 找回密码
 立即注册
查看: 1768|回复: 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
不知道是不是你要的:
  1. #include <iostream>

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

  3. int main()
  4. {
  5.     char color[16];
  6.     int arr[128] = {0};
  7.     for(int i = 0; i < 16; i++){
  8.         cin >> color[i];
  9.         arr[color[i]]++;
  10.     }
  11.     int n = 1;
  12.     bool flag = true;
  13.     for(int i: color){
  14.         if(arr[i] > 1){
  15.             flag = false;
  16.             cout << n << " ";
  17.         }
  18.         n++;
  19.     }
  20.     if(flag) cout << "different" << endl;
  21.     return 0;
  22. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-2-7 16:36:56 | 显示全部楼层
c++解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

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

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

  3. int main()
  4. {
  5.     char color[16];
  6.     int arr[128] = {0};
  7.     for(int i = 0; i < 16; i++){
  8.         cin >> color[i];
  9.         arr[color[i]]++;
  10.     }
  11.     int n = 1;
  12.     bool flag = true;
  13.     for(int i: color){
  14.         if(arr[i] > 1){
  15.             flag = false;
  16.             cout << n << " ";
  17.         }
  18.         n++;
  19.     }
  20.     if(flag) cout << "different" << endl;
  21.     return 0;
  22. }
复制代码

评分

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

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-24 10:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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