首先,scanf与gets的区别需要注意:
scanf( ):在其输入字符串时,若输入空格、Tab、或者回车,都会结束scanf的输入。
gets( ):在其输入字符串时,可输入空格、Tab,都不结束字符串的输入,若输入回车,则结束gets输入。
因此,当输入的字符串有空格时,需要用gets( )输入字符串。
%*c的作用:忽略字符的输入。为了避免回车键被gets吸收,需要用到%*c。
2024题代码:
#include<stdio.h>#include<string.h>int main(){int n,i,x,y;char a[100],m;scanf("%d%*c",&n,&m);{while(n--){y=0;gets(a);x=strlen(a);if(a[0]=='_'||a[0]>='a'&&a[0]<='z'||a[0]>='A'&&a[0]<='Z'){for(i=0;i<x;i++){if(a[i]=='_'||a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z'||a[i]>='0'&&a[i]<='9')y++;else break;}x==y?PRintf("yes/n"):printf("no/n");} else printf("no/n"); }}return 0;}
新闻热点
疑难解答