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

请帮我看一下这串代码的问题

komorebi0110 发布于 2019-12-16 02:23, 1112 次点击
#include<stdio.h>
#include<string.h>
char converse(char  *b);
int main()
{
    int n;
    scanf("%d",&n);
    char a[n][50];
    for(int i=0;i<n;i++)
    {  for(int j=0;;j++)
        scanf("%s",&a[i][j]);
        converse(a[i][j]);}

    for(int i=0;i<n;i++)
        {printf("case #%d: ",i);
        for(int j=0;;j++)
        printf("%s",a[i][j]);
        printf("\n");}
    return 0;

}
char converse(char *b)
{    if (*b>='A'&&*b<'Z')
*b=*b+'B'-'A';
else *b='A';
return;
}
6 回复
#2
komorebi01102019-12-16 02:24
就是写字符串往后推一个 比如输入APPLE 会变成BQQMF这样
#3
rjsp2019-12-16 09:17
回复 2楼 komorebi0110
下次先贴题目,再贴代码。
在不知道题目要求的情况下,代码是没意义的。即使你代码是个狗屎,看客们也不能认为你代码错了,万一你题目要求就是代码写成狗屎呐!

题目要贴完整。
从你的代码来猜测,根本不是“就是写字符串往后推一个 比如输入APPLE 会变成BQQMF这样”,而是“先输入一个数量,再……”,另外,字符串最大可能的长度是多少?你题目没交代

根据猜测(猜错了别怪我,你自己不肯讲出题目要求),写出的代码:
程序代码:
#include <stdio.h>

char* converse( char* s );

int main( void )
{
    unsigned n;
    scanf( "%u", &n );

    for( unsigned i=0; i!=n; ++i )
    {
        char s[51];
        scanf( "%s", s );

        converse( s );
        printf( "case #%u: %s\n", i+1, s );
    }
}

char* converse( char* s )
{
    for( char* p=s; *p; ++p )
    {
        if( *p>='A' && *p<='Z' )
        {
            *p = (*p-'A'+1)%26 + 'A';
        }
    }
    return s;
}
输入
2
APPLE
AYZ
输出
case #1: BQQMF
case #2: BZA

#4
纯蓝之刃2019-12-16 10:32
这是根据你的代码修改的
程序代码:
#include<stdio.h>
#include<string.h>
void converse(char  *b);
int main()
{
    int n;
    scanf("%d",&n);
    char a[n][50];
    for(int i=0;i<n;i++)
    {
        scanf("%s",a[i]);
        converse(a[i]);
    }

    for(int i=0;i<n;i++)
    {
        printf("case #%d: ",i);
        printf("%s\n",a[i]);
    }
    return 0;

}
void converse(char *b)
{
    int i=0;
    while(b[i]!='\0'&&b[i]!='\n')
    {
        if (b[i]>='A'&&b[i]<'Z')
            b[i++]++;
        else
            b[i++]='A';
    }
    b[i]='\0';
}
#5
komorebi01102019-12-16 12:12
回复 3楼 rjsp
非常抱歉,下次注意
#6
komorebi01102019-12-16 12:13
回复 4楼 纯蓝之刃
accepted了,谢谢!!
#7
komorebi01102019-12-16 12:16
回复 4楼 纯蓝之刃
宁也太太太厉害了 我没把题目放上来你都能知道我的意思 tql
1