L1-032 Left-pad
思路
这道题看起来比较简单,就是计较字符串的大小,然后将字符输出
用scanf 不能输入空格,这是题目的坑点,搞得我想了很久。用gets可以输入空格
盲点
scanf输入字符串(含有空格的字符串,例如:“I love you!”)时,总是在空格处停止扫描。
gets()函数 ,用gets()替代scanf();
gets可以无限读取字符串,不会判断上限,以回车结束读取。
源码
#include<stdio.h>
#include<string.h>
#define N 40000
int main(){
int n;
char c;
scanf("%d %c ",&n,&c);
char a[N];
gets(a);
int len=strlen(a);
if(len<=n){
for(int i=0;i<n-len;i++){
printf("%c",c);
}
printf("%s",a);
}else{
for(int i=len-n;i<len;i++) {
printf("%c",a[i]);
}
}
return 0;
}