关于输出格式 为什么用puts输出不行?
查看原帖
关于输出格式 为什么用puts输出不行?
449015
real1ze楼主2021/3/1 20:18

如下两个代码:

A:

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>

char a[100];
int n;

int main(){
    scanf("%d",&n);
    n%=26;
    getchar();
    scanf("%s",&a);
    for(int i=0;i<100;i++){
        if(a[i]+n>=128){
            a[i]=a[i]-26+n;
            continue;
        }
            if(a[i]>=97&&a[i]<=122){
            a[i]=a[i]+n;
            }
            a[i]=(a[i]>122)?(a[i]-26):(a[i]);
    }
    printf("%s",a);
}

这个可以通过 但一变成:

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>

char a[100];
int n;

int main(){
    scanf("%d",&n);
    n%=26;
    getchar();
    gets(a);
    for(int i=0;i<100;i++){
        if(a[i]+n>=128){
            a[i]=a[i]-26+n;
            continue;
        }
            if(a[i]>=97&&a[i]<=122){
            a[i]=a[i]+n;
            }
            a[i]=(a[i]>122)?(a[i]-26):(a[i]);
    }
    puts(a);
}

就不行 区别仅是用gets和puts读取输出和用scanf与printf的读取输出 求问为什么会这样?以后有什么类似要注意的地方吗?谢谢!

2021/3/1 20:18
加载中...