
scanf,gets,getchar的区别
三者都是从标准输入流stdio (标准输入设备,一般指向键盘)中读取内容。
1.scanf输入字符串的时候不会接收Space空格,回车Enter,Tab键,则认为输入结束。
2.gets能接收空格键,回车键,Tab键,回车则认为输入结束
3.getchar只能接受一个字符,遇到回车结束输入,可接受回车键。常用来吸收回车符。
#include <stdio.h>
#include<string.h>
#include<string>
#define INF 0x7fffffff
int abs(int x){
return x>0 ? x:-x;
}
int main( ){
int t,sum,dis,min;
char n;
char str[1000];
int len;
scanf("%d",&t);
while(t--){
min=INF;
scanf("%s",str);
len=strlen(str);
for(char i='a';i<='z';i++){
sum=0;
for(int j=0;j<len;j++){
dis=abs(str[j]-i);
if(dis>13)
dis=26-dis;
sum=sum+dis;
}if(sum<min)
min=sum;
}
printf("%d\n",min);
}
return 0;
}
这道题真的得用暴力破解(挨个试),实在想不出方法。
不要忘记 char str【】 scanf("%c",str)// 数组可以直接这样输入