注册 登录
编程论坛 C语言论坛

自己写的自己测试都是对的,但提交了只有一个样例正确,希望大佬指正。

hanserisgood 发布于 2022-12-11 15:23, 1172 次点击
题目在这儿:https://www.
我写的:
#include<stdio.h>
int main(void)
{
    char a[105];
    int i,j;
    scanf("%s",a);
    i=0;
    while(a[i]!=‘\0')
    {
        if(((a[i]>=65&&a[i]<=90)||(a[i]>=97&&a[i]<=122))&&(a[i+1]>=50&&a[i+1]<=57))
        {
            int gin;
            gin=a[i+1]-48;//记录数字,用一个循环打印了这么多遍
            for(j=0;j<gin;j++)
            {
                printf("%c",a[i]);
            }
        }
        else if(((a[i]>=65&&a[i]<=90)||(a[i]>=97&&a[i]<=122))&&((a[i+1]>=65&&a[i+1]<=90)||(a[i+1]>=97&&a[i+1]<=122)))
        //表示前后都是字母。
        {
            printf("%c",a[i]);//则打印该字母
        }
        i++;
    }
    printf(“\0”);//……最后的挣扎。没用
    return 0;
}
7 回复
#2
hanserisgood2022-12-11 15:45
在else if()的下面又加了一个:
else if(((a[i]>=65&&a[i]<=90)||(a[i]>=97&&a[i]<=122))&&(a[i+1]==‘\0'))
{
      printf("%c",a[i]);
}
本来以为解决了,但还是只过了一个
#3
rjsp2022-12-11 16:50
你的代码中那么多魔法数 ------ 65、90、97、122、…… ------ 目的是什么?是为了让别人看不懂,还是想显示自己的记忆力高超?

程序代码:
#include <stdio.h>

int main( void )
{
    char s[101];
    scanf( "%s", s );

    for( const char* p=s; *p; ++p )
    {
        if( *p>='1' && *p<='9' )
        {
            for( char j=0; j!=*p-'1'; ++j )
                putchar( p[-1] );
        }
        else
            putchar( *p );
    }
}
#4
renkejun19422022-12-11 16:59
程序代码:
#include <stdio.h>

int main( void )
{
    char str[ 101 ];
    int i,j;
    char c;

    scanf( "%s", str );

    for( i = 0; '\0' != str[ i ]; i++ )
    {
        c = str[ i ];

        if( ( 'A' <= c && 'Z' >= c ) || ( 'a' <= c && 'z' >= c ) )
            printf( "%c", c );
        else
            for( j = 0; j < ( c - '0' ) - 1; j++ )
                printf( "%c" ,str[ i - 1 ] );
    }

    return 0;
}
#5
hanserisgood2022-12-11 17:20
回复 3楼 rjsp
抱歉,我一直是这么写的,确实不好,感谢指正!
#6
hanserisgood2022-12-11 17:20
回复 4楼 renkejun1942
非常感谢,这样写确实才是正解,谢谢你
#7
renkejun19422022-12-11 20:20
回复 6楼 hanserisgood
代码怎么样并不重要,重要的是思路。
你的代码太多魔数,所以我没看,但是我想你的思路肯定不太对,你重新整理思路,重新写吧,或许会有更多的收获。
#8
pvm20002022-12-25 08:18
指针/数组越界或变量未初始化
1