求指导我的c语言编程哪里错了!三天打鱼两天晒网,输入1 2 3输出打鱼输入4 5输出晒网!以

作者&投稿:局蕊 (若有异议请与网页底部的电邮联系)
C语言编程三天打鱼两天晒网~

中国有句俗语叫 “三天打鱼两天晒网 ”。某人从 1990年 1月 1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
根据题意可以将解题过程分为三步:
1)计算从 1990年 1月 1日开始至指定日期共有多少天;
2)由于“打鱼”和“晒网”的周期为 5天,所以将计算出的天数用 5去除;
3)根据余数判断他是在“打鱼”还是在“晒网”;若余数为 1,2,3,则他是在“打鱼”否则是在“晒网”在这三步中,关键是第一步。求从 1990年 1月 1日至指定日期有多少天,要判断经历年份中是否有闰年,二月为 29天,平年为 28天。闰年的方法可以用伪语句描述如下:如果 ((年能被 4除尽且不能被 100除尽)或能被 400除尽)则该年是闰年;否则不是闰年。
代码如下:
#include
#define YEAR 2010
void main()
{
int year,month,day,y,days=0;
int num[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
printf("请输入正确的年月日(年月日用空格键隔开):
");
scanf("%d%d%d",&year,&month,&day);
while(year<2010)
{
printf("年份输入过小,请重新输入:
");
scanf("%d,%d,%d",&year,&month,&day);
}
if(year%400==0||(year%4==0 && year%100!=0)) //当满足条件时,在二月基础加一天
num[2]+=1;
for(y=2010;y<year;y++) //判断输入年份是否为闰年
{
if(y%400==0||(y%4==0 && y%100!=0))
days+=366;
else
days+=365;
}
for(y=1;y<month;y++) //计算从2010年1月1日到输入年份总共多少天
{
days+=num[y];
}
days+=day;
printf("
从2010年1月1日起到%d年%d月%d日共经过了%d天

",year,month,day,days);
if(days%5==3||days%5==2||days%5==1) //用计算出的总天数除以5,求模
printf("%d年%d月%d日他在打鱼

",year,month,day);
else
printf("%d年%d月%d日他在晒网

",year,month,day);
return 0;
}

#include int is_leap_year(int y){ if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) return 1; return 0;}int main(void){ int mon[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; int y, m, d; int i, sum = 0; scanf("%d%d%d", &y, &m, &d); for (i = 1990; i < y; i++) { /* 因为 365 正好能被 5 整除,所以可以写成下面的形式 */ if (is_leap_year(i)) sum++; } for (i = 1; i < m; i++) { if (is_leap_year(i) && i == 2) sum += 29; else sum += mon[i]; } sum += d; sum %= 5; if (1 <= sum && sum <= 3) printf("打鱼
"); else printf("晒网
"); return 0;}

while(scanf("%d",&day)!=EOF)
{
switch(day)
case1:case2:case3:
printf("捕鱼");
break;
case4:case5:
printf("晒网");
break;
default:printf("输入错误!");
break:
}
你好,EOF是控制循环的,当你想停止循环的时候同时按下ctrl和z就停止循环了,望采纳,谢谢!

、、、代码没有循环~~而且只写到1~6,输入其他数字完全不管用的好吧~.~就3的倍数加上循环语句~

你循环的代码在哪里、、、

是switch而不是swith


请求指导一下C语言我的编程到底哪里错了
if((d>c)&&(e>b)&&(f>a)&&(g<c)&&(h<b)&&(i

C语言 编程 输出100~300之间所有素数
printf("%d", j);通过上述C语言程序,我们成功地编写了一个可以输出100到300之间所有素数的程序。这个程序通过遍历100到300的整数,利用基本的数学和逻辑判断,有效地筛选出素数并计算其数量。在实际应用中,理解并掌握这种解决问题的方法对增强编程技能和逻辑思维能力非常有帮助。

学生C语言编程学习必备的一些网站
C语言网(www.dotcpp.com)不仅提供C语言,还包括C++、java、算法与数据结构等课程在内的各种入门教程、视频录像、编程经验、编译器教程及软件下载、题解博客,源码分享等优质资源,提倡边学边练边分享,同时提供对口的IT工作,是国内领先实用的综合性编程学习网站! 2、C语言中文网 C语言中文网是中国领先的C语言程序设计...

谁能教教我c语言需要用什么软件编程编译呢,举个简单的例子1加到100要...
用visual c6.0编 include <studio.h> int main(){ int i;int sum=0;for(i=1;i<=100;i++){ sum=sum+i;} printf("%d",sum);return 0;}

谁能教我C语言编程?下面附上一段C语言程序加以讲解!谢谢!
下面介绍一个最简单的c语言程序:要求在屏幕上输出以下一行信息:This is a c progrom.解题思路:在主函数中用prinft函数原样输出以下文字 编写程序:include<stdio.h> \/\/这是编译预处理指令 int main() \/\/定义主函数 { \/\/函数开始标志 printf("This ...

求助求助!!哪位大神能教我一下,c语言编程,输入一个整数n,检查n中重复...
include "stdio.h"int main(){ int n,i,a[10]={0};scanf("%d",&n);while(n>0){a[n%10]++;n\/=10;} for(i=0;i<10;i++)if(a[i])printf("%d: %d\\n",i,a[i]);return 0;}

教你如何使用C语言编写简单小游戏
".让我们来看看这个最简单的C程序:#incolude \/*把输入输出函数的头文件包含进来*\/int main(){printf("Hello, world!");\/*在屏幕上输出字符串"Hello,world!"*\/return 0;\/*退出main函数,并返回0*\/} 下面我们发现几个值得改进的地方,1,程序的运行结果一闪而过 .2,每执行这个程序一次都能看见...

c语言编程求助,越多越好我可以加,一题也行,感谢大神!
1#include<stdio.h>int prime(int n){ int flag=1; if(n<=1) return 0; for(int i=2;i*i<=n;i++){ if(n%i==0){ flag=0; break; } } if(flag) return 1; else return 0;}int main(){ int t; scanf("%d",&t); if(prime(t...

C语言编程
C直接提供了strrev函数,在string.h中。include <stdio.h> include<string.h> void main(){ char s[]="abc";printf("%s\\n",strrev(s));}

怎么学习C语言程序编程
那我现在要是学习C语言要面临到哪些困难,我该如何解决。如果我的基础不行,那我要不要先学习一些其他的基础。我看过有一个也是编程序的,听说比C语言要容易些,人家建议先学习作为基础。那个名字叫pa...什么的,我也没有记住,不知道行不行。 展开  ...

源城区15546337240: 自学c语言,自己编的程序哪里错了...求指教.. -
钦福金格: 应该是没什么问题,要注意下代码对齐的问题,还有语句是以分号结束:123456789101112131415161718192021222324 #include <stdio.h> intmain() { intmax(intx,inty,intz); inta,b,c,d; //这儿注意下,是分号,不是dao逗号 scanf("%d,%d,%d...

源城区15546337240: 求教 C语言 我的程序哪里错了
钦福金格: 你的程序错误的主要原因是:将结果放到数组c中时,没有将它转换为字符型(也就是加48),所以会输出乱码;还有就是最好单独设置一个标记变量单独存储两个数加和的进位.程序我改了一下,你再测试试试,如果有问题再提. #include <...

源城区15546337240: 刚学C语言自己编了个程序不知道是哪错了,求指点 -
钦福金格: 你是求派值吧,嗯#include#include void main() { int i; double s; s=0; for(i=1;1.0/(2*i-1)>=1e-6;i++) //π/4=1-1/3+1/5-1/7+1/9-1/11+…… { if(i%2!=0) s=s+1.0/(2*i-1); else if(i%2==0) s=s-1.0/(2*i-1); } printf("%f",4*s); } //和你的一样,只是将float 改成double

源城区15546337240: 我写了个c语言程序,不知道哪里错了,求大神告诉... -
钦福金格: 不仅是大家说的错误,你的判断条件也错了,我的是正确的,你试试.#include <stdio.h> main() { char b[50]; int j=0,k=0,l=0,m=0,i=0; printf("请输入至多50个字符:\n"); scanf("%c",&b[i]); while(b[i]!='\n') { i++; scanf("%c",&b[i]); } b[i]='\0'; ...

源城区15546337240: 求高人指点C语言这个程序哪错了(我是初学者,不是太懂,简明一些) -
钦福金格: 哪里错了放编译器里跑一下就知道了,学习语言同时也要学习解决问题的能力.scanf("%d,%d,%d",a,b,c);//书上看看应该怎么写 冒泡排序 int i,j,temp; int a[n]; for(i=0;i scanf ("%d,",&a[i]); for(j=0;j{for (i=0;i if (a[i]>a[i+1]) {temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } } for(i=0;i printf("%5d,",a[i] ); printf("\n");

源城区15546337240: C语言编程问题.我不晓得哪里错了.求次方!~~ -
钦福金格: else if (y=0) 改为:else if (y==0) 还有:所有的%f改为%lf for (i=-2, a=1/x;i 改为:for (i=-2, a=1/x;i >=y;i--)

源城区15546337240: 关于C语音编程一些错误,求大神指点哪里错了
钦福金格: 错误很多 我挨个说:1 max函数 for循环内部应该是i<n 而不是<= 因为前n个数是 a[0]~a[n-1]2 min一样的3 数组声明:首先不要把 int n放入数组索引!其次,数组大小必须是确定数值!也就是你可以定义int a[1000],声明大一点就好,变动大小需要用malloc申请,但这里不合适~4 最后一个不算错误的错误,代码太乱,缩进格式,命名很糟糕把前三个改了就行

源城区15546337240: C语言 哪里有错,求指导 -
钦福金格: 就一点点问题....do while用错了! while (m =len) { printf("\nError m, please input m again: "); scanf("%d", &m); }

源城区15546337240: 刚学c语言,求大神看我的代码写的哪错了,急急急急! -
钦福金格: 展开全部#include#include void BubbleSort(char StudName[][8]) { int i,j; char t[8]; for(i=0;i<7;i++) { for(j=0;j<7-i;j++) { if (strcmp(StudName[j],StudName[j+1])>0) {strcpy(t,StudName[j+1]);strcpy(StudName[j+1],StudName[j]);strcpy(StudName[j],t);} } } } void...

源城区15546337240: C语言编程题.我到底错在哪里啊? -
钦福金格: void main() {int i;for (i=1;s n=i-1; %i仅超过1次s=s-i; %s应该是减去最后一次i } 另:尽然s是外部整数,应该已经赋值过0了,这里没有必要进行.如果没有赋值这里必须要先赋值成0.或者s是一个静态变量,在定义的时候已经默认为0.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网