pta上的一道题,不知道哪里出现问题,求大佬帮看一眼;
题目网址https://还想请教一下问什么必须用getchar()把回车吃掉。
我的源码:#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void change(char *str,int n);
int main()
{
int num;
int k=0;
char str[1000]={'\0'};
scanf("%d",&num);
getchar();//如果不吃掉回车str里面就是一个回车
gets(str);
int i,j;
for (i=0; i<num; i++){
int n=strlen(str)/num;
if(strlen(str)%num!=0){
n++;
}
char str2[1000];
for(j=0; j<n; j++){
str2[j]=str[4*j+i];
}
change(str2,n);
}
return 0;
}
void change(char *str,int n)
{
int i;char c;
for(i=0; i<n/2; i++){
c=str[i];str[i]=str[n-1-i];str[n-1-i]=c;
}
//printf("%s\n",str);
int i2;
for(i2=0; i2<n; i2++){
printf("%c",str[i2]);
}
printf("\n");
}