定义一结构体变量(包括年,月,日).计算该日在本年是第几天,代码如下

#include<stdio.h>#include<string.h>structdata{intyear;intmonth;intday;}D;fun(inty,int... #include<stdio.h>
#include<string.h>
struct data{
int year;
int month;
int day;}D;
fun(int y,int m,int t){
if (y%4==0){
switch(m){
case 1:printf("该日为本年第%d日",t);
case 2:printf("该日为本年第%d日",31+t);
case 3:printf("该日为本年第%d日",60+t);
case 4:printf("该日为本年第%d日",91+t);
case 5:printf("该日为本年第%d日",121+t);
case 6:printf("该日为本年第%d日",152+t);
case 7:printf("该日为本年第%d日",182+t);
case 8:printf("该日为本年第%d日",213+t);
case 9:printf("该日为本年第%d日",244+t);
case 10:printf("该日为本年第%d日",274+t);
case 11:printf("该日为本年第%d日",305+t);
case 12:printf("该日为本年第%d日",335+t);
default:printf("输入错误,请重新输入");}
}
if (y%4!=0){
switch(m){
case 1:printf("该日为本年第%d日",t);
case 2:printf("该日为本年第%d日",31+t);
case 3:printf("该日为本年第%d日",59+t);
case 4:printf("该日为本年第%d日",90+t);
case 5:printf("该日为本年第%d日",120+t);
case 6:printf("该日为本年第%d日",151+t);
case 7:printf("该日为本年第%d日",181+t);
case 8:printf("该日为本年第%d日",212+t);
case 9:printf("该日为本年第%d日",243+t);
case 10:printf("该日为本年第%d日",273+t);
case 11:printf("该日为本年第%d日",304+t);
case 12:printf("该日为本年第%d日",334+t);
default:printf("输入错误,请重新输入");}
}
}

main(){
struct data D;
printf("请输入年:\n");
scanf("%d",&D.year);
printf("请输入月:\n");
scanf("%d",&D.month);
printf("请输入日:\n");
scanf("%d",&D.day);
fun(D.year,D.month,D.day);
}
为什么输出是这样的,求解答
展开
 我来答
eadio
2014-07-28 · TA获得超过1610个赞
知道小有建树答主
回答量:962
采纳率:80%
帮助的人:1018万
展开全部
你没有break哦,,每个case后面查询到结果了都要跳出switch语句,就得加break;修改如下
switch(m){
case 1:printf("该日为本年第%d日",t);bareak;
case 2:printf("该日为本年第%d日",31+t);bareak;
case 3:printf("该日为本年第%d日",59+t);bareak;
case 4:printf("该日为本年第%d日",90+t);bareak;
case 5:printf("该日为本年第%d日",120+t);bareak;
case 6:printf("该日为本年第%d日",151+t);bareak;
case 7:printf("该日为本年第%d日",181+t);bareak;
case 8:printf("该日为本年第%d日",212+t);bareak;
case 9:printf("该日为本年第%d日",243+t);bareak;
case 10:printf("该日为本年第%d日",273+t);bareak;
case 11:printf("该日为本年第%d日",304+t);bareak;
case 12:printf("该日为本年第%d日",334+t);bareak;
default:printf("输入错误,请重新输入");bareak;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式