求解
本帖最后由 Passepartout 于 2022-2-7 16:37 编辑ABCDEFAHIJPLMNOT
123456789 10 11 12 13 14 15 16
其中每个大写字母代表一种颜色的彩笔,第 11 支与第 77 支的彩笔颜色相同。
输入格式
输入只有 16 个大写字母,分别代表彩笔的不同颜色。
输出格式
如果 16 支笔的颜色各不相同,输出“different”(引号中的部分)。
如果有 2 支笔的颜色一样,以先小后大的顺序输出 2 支相同颜色笔的位置序号,2 个位置序号之间用空格分开。 c++解 新年快乐。
如题,请问第 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 不知道是不是你要的:#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]