要求用户一段字符,判断用户输入是否为正确的用户名(英文开头,只能包含数字和字母)

img

代码如下,如有帮助,请帮忙采纳一下,谢谢。

#include <stdio.h>
int main()
{
    char buf[100];
    int i=1;
    gets(buf); //读取一行字符串
    if ( (buf[0]>='a' && buf[0]<='z') || (buf[0]>='A' && buf[0]<='Z'))
    {
        while (buf[i])
        {
            if ( (buf[i]>='a' && buf[i]<='z') || (buf[i]>='A' && buf[i]<='Z') || (buf[i]>='0' && buf[i]<='9'))
                i++;
            else
            {
                printf("输入错误");
                return 0;
            }
        }
    }else
    {
        printf("输入错误");
        return 0;
    }
    printf("输入正确");
    return 0;
}

你题目的解答代码如下:

#include<stdio.h>
#include<string.h>

int main()
{
    int n,i;
    char s[100] = {0};
    printf("请输入用户名:");
    gets(s);
    int len = strlen(s);
    for (i = 0; i < len; i++)
        if (! (s[i] >= 'A' && s[i] <= 'Z' || s[i] >= 'a' && s[i] <= 'z' || i>0 && s[i] >= '0' && s[i] <= '9' ))
            break;
    if (i>=len)
        printf("用户名正确");
    else
        printf("用户名错误");
    return 0;
}

如有帮助,望采纳!谢谢!


#include "stdio.h"
int main(){
  char str[100];
  int i=1;
  int flag = 0;
  gets(str);
  if((str[0]>='A' && str[0]<='Z') || (str[0]>='a' && str[0]<='z')){
    while(str[i]!='\0'){
          if((str[i]>='A' && str[i]<='Z') || (str[i]>='a' && str[i]<='z') || (str[i]>='0' && str[i]<='9')){
          }else {
              flag=1;              
              break;
              
          }
        i++;
    }
    if(flag){
          printf("输入错误");
      }else{
          printf("输入准确");
      }
  }else{
      printf("输入错误");
  }
  
}

你是河南对外经济贸易职业学校的吗😆