标题:请帮我看一下这串代码的问题
只看楼主
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
结帖率:96.88%
已结贴  问题点数:20 回复次数:6 
请帮我看一下这串代码的问题
#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;
}
搜索更多相关主题的帖子: int for 代码 char printf 
2019-12-16 02:23
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
就是写字符串往后推一个 比如输入APPLE 会变成BQQMF这样

我想要两颗西柚。
2019-12-16 02:24
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
回复 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

2019-12-16 09:17
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
得分:10 
这是根据你的代码修改的
程序代码:
#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';
}

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2019-12-16 10:32
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
回复 3楼 rjsp
非常抱歉,下次注意

我想要两颗西柚。
2019-12-16 12:12
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
回复 4楼 纯蓝之刃
accepted了,谢谢!!

我想要两颗西柚。
2019-12-16 12:13
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
回复 4楼 纯蓝之刃
宁也太太太厉害了 我没把题目放上来你都能知道我的意思 tql

我想要两颗西柚。
2019-12-16 12:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498416-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017183 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved