鱼C论坛

 找回密码
 立即注册
查看: 5210|回复: 19

switch语句的一个作业不会做。

[复制链接]
发表于 2013-1-31 11:42:30 | 显示全部楼层 |阅读模式
3鱼币
视频里,甲鱼大大,给了个题目。要用switch语句判断是否,闰年。我真的想了好久,还是做不出来。大家能不能发下你们怎么做的啊?给点思路啊。。。新人,完全是没有头绪。

最佳答案

查看完整内容

#include int main() { int myear; scanf("%d",&myear); switch (myear%400 && ( myear%4 || !(myear%100))) { case 0: printf("是闰年\n"); break; case 1: printf("不是闰年\n"); break; } return 0; } 之前算错闰年了, 我也不大清楚闰年是怎么规定的,我改了下代码 cin和cout是vc的 如果你不用vc,难道还有tc不成,应该不会出错,这样的错误应该能容易的找出来
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-1-31 11:42:31 | 显示全部楼层
#include<stdio.h>

int main()
{
int myear;
scanf("%d",&myear);
switch (myear%400 && ( myear%4 || !(myear%100)))
{
case 0:
   printf("是闰年\n");
   break;
case 1:
   printf("不是闰年\n");
   break;
}
return 0;
}
之前算错闰年了, 我也不大清楚闰年是怎么规定的,我改了下代码

cin和cout是vc的

如果你不用vc,难道还有tc不成,应该不会出错,这样的错误应该能容易的找出来
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-1-31 11:43:25 | 显示全部楼层
追加一下。是输入一个年份,并判断是否为闰年
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-1-31 11:48:18 | 显示全部楼层
嗯,我想知道用开关语句要怎么做,自己可以用if语句做出来。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-1-31 11:54:30 | 显示全部楼层
本帖最后由 消失在黑暗中 于 2013-1-31 12:32 编辑

闰年能被4整除但不能被100整除,或者该年能被400整除则为闰年


#include<iostream.h>

int main()
{
int myear;
cin>>myear;
switch (myear%400 || ( myear%4 && !(myear%100) ))
{
case 0:
   cout<<"闰年"<<endl;
   break;
case 1:
   cout<<"不是闰年"<<endl;
   break;
}
return 0;
}


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-1-31 12:02:14 | 显示全部楼层
这道题不会做有两种情况,一是不知道闰年是如何界定的,如何来判断;二是知道了如何来判断一个年份是否是闰年,但是不会用C语言来写程序。

对于第一种,我个人认为还是很简单的,搜索下记住就行了,闰年就是这么判断滴,没什么好讲至于你能不能理解为什么要这样才判断那是以后的事,至少现在知道怎么判断处理就可以了。

现在是第二种情况,那就是程序语句的作用理解不够清晰,不理解语句作用可能会导致把语法格式记忆一塌糊涂,理解一次又一次忘了一次又一次总是纠结其写法,导致思维乱糟糟。

这就是我的回答,希望对你有所开解

评分

参与人数 1鱼币 +5 收起 理由
格式天下 + 5 这个分析的不错

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-1-31 12:49:46 | 显示全部楼层

知道如何定界闰年。第二种情况。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-1-31 20:43:36 | 显示全部楼层
消失在黑暗中 发表于 2013-1-31 11:54
闰年能被4整除但不能被100整除,或者该年能被400整除则为闰年

表示<siotream.h>  cin  >> myear  这里都没学过。。今天想了一天了。。原来是自己水平还不够
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-1-31 20:49:50 | 显示全部楼层
消失在黑暗中 发表于 2013-1-31 11:54
闰年能被4整除但不能被100整除,或者该年能被400整除则为闰年

有个1个error,行13列30。,不过你这方法给了我哥思路,虽然不行。不过还是挺谢谢你的,我再去想想把
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-2 15:01:32 | 显示全部楼层
加油哦,不要辜负小甲鱼了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-2 20:44:02 | 显示全部楼层
楼主虽然没看懂你想干嘛 不过好像说是 要判断是不是闰年是吧 还要用上switch 是吧 我就按自己的思路谢了个
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-2 20:44:38 | 显示全部楼层
  1. #include<stdio.h>

  2. int main(void)
  3. {
  4.         int a,b;
  5.         do
  6.         {
  7.                 printf("请输入一个年份:");
  8.                 scanf("%d",&a);
  9.                 if(a%100 == 0)
  10.                 {
  11.                         if(a%400 == 0)
  12.                                 b = 1;
  13.                         else
  14.                                 b = 0;
  15.                 }
  16.                 else if(a%4 == 0)
  17.                         b = 1;
  18.                 else
  19.                         b = 0;
  20.                
  21.                 switch(b)
  22.                 {
  23.                 case 0:
  24.                         printf("不是润年\n");
  25.                         break;
  26.                 case 1:
  27.                         printf("是闰年\n");
  28.                         break;
  29.                 }
  30.                 int c;
  31.                 printf("您是否继续?按1继续,其他键退出:");
  32.                 scanf("%d",&c);
  33.                 if(c == 1)
  34.                         b = 1;
  35.                 else
  36.                         b = 0;
  37.         }while(b);
  38.        
  39.        
  40.         return 0;
  41. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-2 20:45:10 | 显示全部楼层
应该看得懂把    楼主
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-2-3 20:06:38 | 显示全部楼层
牡丹花下死做鬼 发表于 2013-2-2 20:45
应该看得懂把    楼主

还没学到do语句用法
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-3 20:11:29 | 显示全部楼层
浪子黑心 发表于 2013-2-3 20:06
还没学到do语句用法

其实 无所谓  do
                        {
                          }while()   
我只是让你决定 是否结束这个程序  和判断是否是闰年没关系
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-3 20:14:07 | 显示全部楼层
  1. #include<stdio.h>

  2. int main(void)
  3. {
  4.         int a,b;
  5.        
  6.         printf("请输入一个年份:");
  7.         scanf("%d",&a);
  8.         if(a%100 == 0)
  9.         {
  10.                 if(a%400 == 0)
  11.                         b = 1;
  12.                 else
  13.                         b = 0;
  14.         }
  15.         else if(a%4 == 0)
  16.                 b = 1;
  17.         else
  18.                 b = 0;
  19.        
  20.         switch(b)
  21.         {
  22.         case 0:
  23.                 printf("不是润年\n");
  24.                 break;
  25.         case 1:
  26.                 printf("是闰年\n");
  27.                 break;
  28.         }
  29.        
  30.        
  31.        
  32.         return 0;
  33. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-3 20:14:52 | 显示全部楼层
这样 应该看得懂了吧     
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-3 20:20:01 | 显示全部楼层
消失在黑暗中 发表于 2013-1-31 11:42
#include

int main()

你这么写的意思是  能被400整除 且(能被4整除或不能被100整除)是闰年  
但应该是 能被400整除   或能被4整除且不能被100整除的是闰年
我怎么感觉您写的有点问题啊
应为 A&&B是要AB均成立才行4是闰年但A不成立所以输出应是不是闰年 但4是润年
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-3 20:21:23 | 显示全部楼层
我想 我说的 已经 够清楚了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-2-4 19:35:34 | 显示全部楼层
牡丹花下死做鬼 发表于 2013-2-3 20:21
我想 我说的 已经 够清楚了

嗯,谢谢了。这题目我已经选了答案了。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-8 16:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表