| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1423 人关注过本帖
标题:求指教~ 两个没有很大差别的程序 一个可以运行,另一个就中断
只看楼主 加入收藏
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
结帖率:90.91%
收藏
已结贴  问题点数:10 回复次数:18 
求指教~ 两个没有很大差别的程序 一个可以运行,另一个就中断
可以运行的程序在这里~
程序代码:
#include <stdio.h>
#include <ctype.h>

int main()
{
    char num[6];
    int i,a=0,b=0;

    printf("Please input your ID number:\n(including two letters & 4 digits)\n");

    for (i=0; i<6; i++)
        scanf("%c", &num[i]);

    for (i=0; i<2; i++)
    {
        if(isalpha(num[i]))
            a++;
    }

    for (i=2; i<6; i++)
    {
        if(isdigit(num[i]))
            b++;
    }
    if (a!=2 || b!=4 )
        printf("Wrong!");
    else
        printf("Please choose an option:\n(1) Start a test\n(2) Check scores\n(3) Exit\n");

    return 0;
}


这个程序就不能运行。。。(这只是一部分啦,剩下的还在编,这一部分无法运行。。)
程序代码:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <ctype.h>

int main()
{
    int i, a=0, b=0, option;
    char no[6];
    printf( "This program will help elementary school pupils practice math.\n" );
    printf( "Please input your ID number:\n(including two letters and four digits)\n" );
    
    /*Check the ID number*/
    
    for (i=0; i<6; i++) 
    scanf("%c", no[i]);
    for (i=0; i<2; i++)
    {
        if (isalpha (no[i]))
        a++;
    }
    for (i=2; i<6; i++)
    {
        if (isdigit (no[i]))
        b++;
    }
    if (a !=2 || b !=4)
    printf("PLease check your ID number and run again.\n");
    
    /*start the program*/
    
    else 
    {
        printf("PLease input a number less than 4 to choose an option:\n(1)Start a test\n(2)Check scores\n(3)Exit");
        scanf("%d",&option);
        do 
        {
            printf("Oh, please choose it again");
        }
        while (option<4);
        
        switch(option)
        {
            case 1: printf("yeah");
                break;
            case 2: printf("wrong");
            break;
            case 3: return 0;
            break;
        }
        
    }
    
    return 0; 
} 

2016-06-21 14:47
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:5 
scanf("%c", &no[i]);
2016-06-21 14:49
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
收藏
得分:0 
回复 2楼 grmmylbs
知道啦~蟹蟹~   书上写的是数组的话可以不加&  那就是 书上写错了吧!
2016-06-21 14:53
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
数组名可以不加,像这样
scanf("%s", no);
2016-06-21 14:55
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
收藏
得分:0 
回复 4楼 grmmylbs
那 %s  和 %c 有什么区别嘞?
2016-06-21 15:03
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
一个接收字符串,一个是单个字符
2016-06-21 15:08
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
收藏
得分:0 
回复 6楼 grmmylbs
明白啦~蟹蟹~~
2016-06-21 15:14
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
收藏
得分:0 
回复 6楼 grmmylbs
你好! 再问一个问题~ 怎么给符号赋值
比如说,在switch语句里  case1代表“+”   case2代表“-”   吧啦吧啦类似的
2016-06-21 15:20
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
只要定义个数字表示符号就行了。
2016-06-21 15:25
惧惧
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2016-6-19
收藏
得分:0 
回复 9楼 grmmylbs
举个例子好嘛?
2016-06-21 15:29
快速回复:求指教~ 两个没有很大差别的程序 一个可以运行,另一个就中断
数据加载中...
 
   



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

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