C语言实现aaabbcdddd转换成3a2b1c4d 我下面代码有什么问题(错误提示...

发布网友 发布时间:2024-09-06 11:55

我来回答

4个回答

热心网友 时间:2024-09-24 21:17

等一等,你的程序不仅无法通过编译,我帮你把语法错误改正后,程序运行突然崩溃

我重新编了一个,代码如下:

#include <stdio.h>


int main(void)

{

    char s[100]={0};

    scanf("%s",s);

    char *pc=s,ch;

    int count = 1;

    int index = 0;

    while(*pc)

    {

        ch = *pc;

        if(ch == *(pc+1))

        {

            count++;

        }

        else

        {

            s[index] = count+48;

            s[index+1] = ch;

            index+=2;

            count = 1;

        }

        pc++;

    }

    s[index+2] = '\0';

    printf("%s",s);

    return 0;

}

运行结果如下:

如果想要注释,加我QQ:25446320

热心网友 时间:2024-09-24 21:15

scanf("%s",str[i]);,改为scanf("%s",str);

if (str[i]==str[i+1]);去掉;
#include<cstdio>
int main(){
int ch[256]={0},i;
char s[100];
scanf("%s",s);
for(i=0;s[i];i++)
ch[s[i]]++;
for(i=0;i<256;i++)
if(ch[i])
printf("%d%c",ch[i],(char)i);
printf("\n");
return 0;
}

热心网友 时间:2024-09-24 21:12

程序里有几个语法错误,改了之后虽然编译成功但是运行有问题,下面是我给你改了成功运行的程序

#include<stdio.h>
#include<string.h>
int main()
{
    char str[10000]={};
    int i,n=0;
    char t;
    printf("输入一个字符串");
    scanf("%s",&str[i]);
    for(i=0;str[i];i++)
    {
        //printf("str;%c\n",str[i]);
        t=str[i];
        if(str[i]==str[i+1]){
            n++;
        }
        else{
            printf("%d",n+1);
            n=0;
        }
    }
    printf("\n");
        return 0;
    }

打印结果:

输入一个字符串 aaabccdddd
3124

热心网友 时间:2024-09-24 21:17

scanf("%s",str[i]); ---> scanf("%s",str);

if (str[i]==str[i+1]); 最后的分号去掉
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com