| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1127 人关注过本帖
标题:谭浩强书上列题11.11,运行不了好像有错,请大家帮我读懂一下!谢谢!
只看楼主 加入收藏
hs625
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-5-30
结帖率:0
收藏
 问题点数:0 回复次数:10 
谭浩强书上列题11.11,运行不了好像有错,请大家帮我读懂一下!谢谢!
main(){
    enum body
    { a,b,c,d } month[31],j;                   //定义一个枚举型常量body,"month[31]"和"j"不知道是不是没定义数据类型,还是定义了是枚举型?   
    int i;
    j=a;                           //这个是将body的a赋给j
    for(i=1;i<=30;i++){   
      month[i]=j;           
      j++;                      //j++是能将下一个直指像b吗,好像是值a+1,或者是对应的ascii值是b,但如果这样,body{a,c,j,k}没规律的数,这方法那不就行不通了?
     if (j>d) j=a;            //从month[1]=a,好像程序的意思是将month[1]=a,...month[4]=d,month[5]时又重新赋值为a。我的编译器运行在这里就出错了,运行不了?
    }
    for(i=1;i<=30;i++){
      switch(month[i])
      {
        case a:printf(" %2d  %c\t",i,'a'); break;
        case b:printf(" %2d  %c\t",i,'b'); break;
        case c:printf(" %2d  %c\t",i,'c'); break;
        case d:printf(" %2d  %c\t",i,'d'); break;
        default:break;
      }
    }
    printf("\n");
搜索更多相关主题的帖子: 谭浩强 上列 运行 
2010-05-30 18:20
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:0 
#include<stdio.h>
main(){
    enum body
    { a,b,c,d } month[31],j;                   //定义一个枚举型常量body,"month[31]"和"j"不知道是不是没定义数据类型,还是定义了是枚举型?   
    int i;
    j=a;                           //这个是将body的a赋给j
    for(i=1;i<=30;i++)
    {   
      month[i]=j;           
      j++;                      //j++是能将下一个直指像b吗,好像是值a+1,或者是对应的ascii值是b,但如果这样,body{a,c,j,k}没规律的数,这方法那不就行不通了?
     if (j>d) j=a;            //从month[1]=a,好像程序的意思是将month[1]=a,...month[4]=d,month[5]时又重新赋值为a。我的编译器运行在这里就出错了,运行不了?
    }
    for(i=1;i<=30;i++)
    {
      switch(month[i])
      {
        case a:printf(" %2d  %c\t",i,'a'); break;
        case b:printf(" %2d  %c\t",i,'b'); break;
        case c:printf(" %2d  %c\t",i,'c'); break;
        case d:printf(" %2d  %c\t",i,'d'); break;
        default:break;
      }
       printf("\n");
    }
}
缺一个括号,输入输出的头文件没加1

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-05-30 18:32
hs625
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-5-30
收藏
得分:0 
回复 2楼 myhnuhai 你是说没加头文件吗?我已经加了!可还是运行不了!
你是说没加头文件吗?我已经加了!可还是运行不了!还是到j++那里出错!
#include<stdio.h>
#include<stdlib.h>
main(){
    enum body
    { a,b,c,d } month[31],j;                     
    int i;
    j=a;                          
    for(i=1;i<=30;i++)
    {   
      month[i]=j;           
      j++;                     
     if (j>d) j=a;           
    for(i=1;i<=30;i++)
    {
      switch(month[i])
      {
        case a:printf(" %2d  %c\t",i,'a'); break;
        case b:printf(" %2d  %c\t",i,'b'); break;
        case c:printf(" %2d  %c\t",i,'c'); break;
        case d:printf(" %2d  %c\t",i,'d'); break;
        default:break;
      }
       printf("\n");
       system("pause");
    }
}
2010-05-30 18:37
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
回复 3楼 hs625
估计你用的是vc++6.0运行你的程序吧!vc++6.0不能够运行含有枚举类型的程序!你用tc运行可以!

愿用余生致力编程
2010-05-30 20:59
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 4楼 我菜119
晴天霹雳 ,/

我就是真命天子,顺我者生,逆我者死!
2010-05-30 21:18
q3286446
Rank: 1
来 自:中国
等 级:新手上路
帖 子:31
专家分:6
注 册:2010-5-24
收藏
得分:0 
最下面少个大括号   }
运行过~~~~
2010-05-30 21:30
xiaoyaoo
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:15
专家分:20
注 册:2010-4-26
收藏
得分:0 
month[i]不可以作为switch转换的变量,i没定义,数组month[i]和j少一个类型,应是char吧
,其实看一下我改的,运行结果也在下面:
#include<stdio.h>
void main(){
    int i;
    char n;
    enum body { a,b,c,d };
    char month[31],j;              
    j=a;                           
    for(i=1;i<=30;i++)
    {   
      month[i]=j;           
      j++;                     
     if (j>d) j=a;            
    }
     for(i=1;i<=30;i++)
     {
      scanf("%c",&n);
      switch(n)
      {
        case a:printf(" %2d  %c\t",i,'a'); break;
        case b:printf(" %2d  %c\t",i,'b'); break;
        case c:printf(" %2d  %c\t",i,'c'); break;
        case d:printf(" %2d  %c\t",i,'d'); break;
        default:break;
      }
     printf("\n");
   
     }
}
图片附件: 游客没有浏览图片的权限,请 登录注册


2010-05-30 22:47
迷失在混沌
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2010-5-27
收藏
得分:0 
回复 7楼 xiaoyaoo
switch(表达式)  表达式可以是字符型或者整形表达式   不用再定义char n;
2010-05-31 13:33
xiaoyaoo
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:15
专家分:20
注 册:2010-4-26
收藏
得分:0 
回复 8楼 迷失在混沌
我试过,运行只是闪了一下没结果
2010-05-31 14:02
a397448342
Rank: 1
等 级:新手上路
帖 子:27
专家分:6
注 册:2010-5-27
收藏
得分:0 
xiaoba  kan budong
2010-05-31 15:16
快速回复:谭浩强书上列题11.11,运行不了好像有错,请大家帮我读懂一下!谢谢!
数据加载中...
 
   



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

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