杭电2024题,用到了scanf与gets

来源:互联网 发布:湖北金融数据网 编辑:程序博客网 时间:2024/05/01 10:25

首先,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;

0 0
原创粉丝点击