| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5140 人关注过本帖
标题:怎样验证输入的一组字符串,前两个是字母,后四位是数字
只看楼主 加入收藏
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:19 
怎样验证输入的一组字符串,前两个是字母,后四位是数字
怎样验证输入的一组字符串,前两个是字母,后四位是数字

题目要求是让输入一组学号,一共6位,前两位是字母,后四位是数字,这个要怎么编~

很急,求帮忙  谢谢~~
搜索更多相关主题的帖子: 字符串 字母 
2016-06-19 14:28
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:5 
ctype.h
isalpha()
isdigit()
2016-06-19 14:43
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
收藏
得分:0 
回复 2楼 吹水佬
您好~ 我是一个新的不能再新的 新手  有些看不懂
2016-06-19 14:46
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:5 
ctype.h//头文件
isalpha()//检测字符串中的字符是否是字母
isdigit()//检测字符串中的字符是否是数字
2016-06-19 14:52
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
收藏
得分:0 
回复 4楼 linlulu001
我们没有学过这些东西。。他们怎么用啊 能举个例子吗?
2016-06-19 15:03
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
#include<stdio.h>
#include<ctype.h>
int main()
{
    char str[20];
    int i,a=0,b=0,c=0,d=0;
    gets(str);
    for(i=0;i<20;i++)
    {
        if(isalpha(str[i])) a++;//检查是否是字母
        if(isdigit(str[i])) b++;//检查是否是十进制数
        if(isupper(str[i])) c++;//检查是否是大写字母
        if(islower(str[i])) d++;//检查是否是小写字母
    }
    printf("%d  %d  %d  %d",a,b,c,d);
    return 0;
}
这个头文件也是常用的一种,尽早掌握吧。
2016-06-19 15:15
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
收藏
得分:0 
回复 6楼 linlulu001
怎么能让它输出“wrong”或者“right”呢
2016-06-19 15:44
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
先判断前两个是否是字母,如果是,接着再判断后4位是不是数字;如果不是就跳出循环。
用两个变量来记录字母和数字 。这两个变量初始化为0。
假设a记录字母,b记录数字.
if(b<4)就输出wrong.

2016-06-19 16:01
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
收藏
得分:0 
回复 8楼 linlulu001
您能不能帮我吧这个程序写出来呀?再次感谢~~
2016-06-19 16:11
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
收藏
得分:0 
回复 7楼 惧惧
您好 这么做的话 问题出在了哪?  谢谢~~

#include <stdio.h>
#include <ctype.h>

int main()
{
    char num[6];
    int i,a=0,b=0;
   
    printf("Please input your number:\n");
    for(i=0;i<6;i++)
    scanf("%d",&num[i]);
   
    for(i=0;i<6;i++)
    {
        if(isalpha(num[i]))
          a++;
        if(isdigit(num[i]))
          b++;
    }
   
    if(a!=2 || b!=4 )
    printf("Wrong!");
    else
    printf("Right!");
   
    return 0;
   
}
2016-06-19 16:28
快速回复:怎样验证输入的一组字符串,前两个是字母,后四位是数字
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049531 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved