有个题我实在搞不懂,问问大家,求解决!

img

img


if和while的顺序不太懂,试着调了一下顺序但是不行,老师还没教,我好奇心重,求求解决方案!

然会就是判断语句我们应该在while循环里面

我还没写出来,这里有一点点错,我还在找,就冲你这一句话老师还没教,我好奇心重,求求解决方案!

#include <stdio.h>
int main()
{
    int i=0;
    int n;
    char a[20];
    scanf("%d",&n);
    scanf("%s",a);
    while(a[i]!='\0')
    {
        if((a[i]+n)>'122')//我们选择判断出小写z的情况 
        {
            printf("1") ;
            a[i]=a[i]-26+n;//既然加上数会大于z,就减去26 
        }
        else if((a[i]+n)>'90')//我们选择判断出大写z的情况 
        {
                printf("2") ;
            a[i]=a[i]+6+n;//这个是因为大小写有距离,然后用这种方式叠加 
        }
        else 
        {
                printf("3") ;
            a[i]=a[i]+n;
        }
        i++;
    }
    printf("%s",a);
    return 0;
 } 

好奇心真的很重要,你让我想起我之前的时候,是那种自己代码写出来之后慢慢的成就感
加油把

首先你的判断语句得在循环里面啊,你就是要先判断后输出,你已经输出了有什么用呢。还有你的判断条件应该也是有问题的。
给你一个解题思路,例如a[3]={'a','b','c'} a[0%3]=a … a[2%3]=c a[3%3]=a