| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 338 人关注过本帖
标题:初学者关于两段C程序的问题请教
只看楼主 加入收藏
南国迦叶
Rank: 2
等 级:论坛游民
帖 子:46
专家分:20
注 册:2010-7-9
结帖率:88.24%
收藏
已结贴  问题点数:10 回复次数:2 
初学者关于两段C程序的问题请教
1.以下程序是在网上看到的,说的是根据所输入的成绩输出对应的成绩等级。我在看了这段程序后想到了另外一个问题,假如我输入的成绩为101到109之间的正数的的话,也会得到“优秀”输出结果,但是实际上学生成绩是0到100之间的整数(这里小数忽略不计),所以我就想到了用if else的控制结构,想把整个switch语句作为if语句执行,后续的input error作为else语句输出,但是不知道是我操作失误还是不能这样操作,最后运行失败,另外也想到了用goto去控制switch语句,不知道那样的话是否可行,如果可行的话,该如何自定义函数呢?(对于此疑问欢迎不同解决方案)
#include <stdio.h>
main()
{
int score;
scanf("%d",&score);
getchar();
switch(score/10)
{
case 10:printf("优秀\n");getchar();break;
case 9:printf("优秀\n");getchar();break;
case 8:printf("良好\n");getchar();break;
case 7:printf("中等\n");getchar();break;
case 6:printf("及格\n");getchar();break;
case 5:printf("不及格\n");getchar();break;
case 4:printf("不及格\n");getchar();break;
case 3:printf("不及格\n");getchar();break;
case 2:printf("不及格\n");getchar();break;
case 1:printf("不及格\n");getchar();break;
case 0:printf("不及格\n");getchar();break;
default:printf("input error");getchar();
}
}
2.以下是简单的if else示例,网上视频中与以下有一个不同的地方,就是将主函数main()写成void main(),它用的是TC的编译器,我自己练习用的是Dev C++的编译器,但是如果我照它那样用void main()就无法运行,将main()前面的void去掉后就可以运行,我想知道这是编译器的区别造成的吗?如果是的话,void一般放在主函数前是啥意思呢?
#include<stdio.h>
main()
{
int a=5,b=4,c=3;
int s,t;
if(a>b>c)
s=a;
else
s=0;
t=(a-c>c+2==0);
printf("s=%d,t=%d\n",s,t);
getchar();
}
搜索更多相关主题的帖子: 如何 
2012-08-20 15:31
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:3 
关于void main()的讨论本版已经够多的了。。。 一句话 尽量用 int main
2012-08-20 15:38
zcc12342234
Rank: 1
等 级:新手上路
帖 子:8
专家分:7
注 册:2012-8-8
收藏
得分:7 
#include <stdio.h>

int main(void)
{
    int score;
    scanf("%d",&score);
    getchar();
    if (score >100)
    {
        printf("输入错误\n");
    }
    else
    {
        switch(score/10)
        {
        case 10:printf("优秀\n");getchar();break;
        case 9:printf("优秀\n");getchar();break;
        case 8:printf("良好\n");getchar();break;
        case 7:printf("中等\n");getchar();break;
        case 6:printf("及格\n");getchar();break;
        case 5:printf("不及格\n");getchar();break;
        case 4:printf("不及格\n");getchar();break;
        case 3:printf("不及格\n");getchar();break;
        case 2:printf("不及格\n");getchar();break;
        case 1:printf("不及格\n");getchar();break;
        case 0:printf("不及格\n");getchar();break;
        default:printf("input error");getchar();
        }
    }
    return 0;
}
2012-08-20 17:19
快速回复:初学者关于两段C程序的问题请教
数据加载中...
 
   



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

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