第十四周第一次总结

unsigned long long 表示精度范围最大

未知数组长度的输入方法



int arr[1005], i = 0,n;
	do{
		scanf_s("%d", &n);
		arr[i++] = n;
	} while (getchar()!='\n');
	for (int j = 0; j

问题 D: Jack的字符串问题

阿操最讨厌写字符串的题目,看到眼前密密麻麻的字母就烦。这件事的起因就是很久很久以前的一次找重复字符的位置。 现在有一个字符串,我们要找出其中的重复的字符并输出这些字符和字符的位置,如:aabcaabc22 输出 a,0;a,1;a,4;a,5,b,2;b,6,c,3;c,7;2,8;2,9

输入

输入一行字符串(字符串中只含数字和字母)。其长度不超过100。包括多组输入。

输出

根据样例的格式将重复出现的字符位置输出

样例输入 复制

aabcaabc22

样例输出 复制

a:0,a:1,a:4,a:5
b:2,b:6
c:3,c:7
2:8,2:9

#include
#include
int main()
{
    char arr[1010];
    while(scanf("%s",arr)!=-1)
    {
     int n=strlen(arr);
    int brr[3000]={0},crr[3000]={0},p=0;
    for(int i=0;i1)//重复的我们就输出
        {
            int count=0;
            for(int j=i;j

一开始以为要想半天不知道思路,后面发现用多个数组存储数据就可以了。。。

首先需要对一个数组(brr)使用桶排来计算不同字符出现的次数,还需要一个数组(crr)来存储相同字符出现时的下标,使用多个数组来记录不同的值

你可能感兴趣的:(c语言)