谁能帮我看看c语言代码?

   更新日期:2024.06.01

这是一个输出某一年份日历的C语言程序。程序的主要思路是先计算输入年份的1月1日是星期几,然后按照每个月的天数输出整个年份的日历。程序中使用了两个函数来检查平年和闰年,并使用switch语句来输出每个月的天数。

以下是代码的一些详细解释和建议:

  • check_year函数:该函数用来检查一个年份是否是闰年。其中%运算符用来判断年份是否能够被4或者400整除,但不能被100整除。当函数返回1时,表示输入的年份是闰年,否则为平年。

  • week_f函数:该函数用来计算输入年份的1月1日是星期几。它首先遍历每一年,统计前面所有年的天数,然后再加上1,最后模7得到1月1日的星期几。例如,week_f(2019)将返回2,表示2019年1月1日是星期二。

  • month_run函数和month_ping函数:这两个函数用来返回每个月的天数,分别对应于闰年和平年。它们使用了switch语句来判断每个月有多少天。

  • run函数和ping函数:这两个函数用来输出整个年份的日历。它们都有一个参数week,表示输入年份的1月1日是星期几。每个函数都遍历12个月,输出每个月的日历。在输出日历之前,先输出星期标头,然后输出每个月的日期,需要计算每个月的起始位置,以及在星期六之后开始换行。

  • main函数:该函数是程序的主函数。它首先读取用户输入的年份,然后调用week_f函数来计算1月1日是星期几。如果输入的年份是闰年,调用run函数来输出日历;如果是平年,调用ping函数来输出日历。最后返回0表示程序正常结束。

  • 代码的可读性较好,建议继续保持并加以改进。例如,可以添加注释来解释代码的逻辑。此外,可以考虑使用更好的函数名来提高代码的可读性。



  • 15863851033 :谁能帮我看看c语言代码?
    充蒋夏2736 :答:这是一个输出某一年份日历的C语言程序。程序的主要思路是先计算输入年份的1月1日是星期几,然后按照每个月的天数输出整个年份的日历。程序中使用了两个函数来检查平年和闰年,并使用switch语句来输出每个月的天数。以下是代码的一些详细解释和建议:check_year函数:该函数用来检查一个年份是否是闰年。其中...
  • 15863851033 :最简单的C语言代码
    充蒋夏2736 :答:最简单的C语言代就是输出“helloWord”,通常是作为初学编程语言时的第一个程序代码。具体代码如下:include <stdio.h> int main(){ printf("Hello, World! \n");return 0;}
  • 15863851033 :高手们帮我看看c语言程序,请给每行代码和功能注释
    充蒋夏2736 :答:假如第三个杯子是c,那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。
  • 15863851033 :哪位大佬能帮看看这道c语言?
    充蒋夏2736 :答:思路:a,b都是默认输入升序的数(题目没要求验证,我的代码也不验证,请按升序输入,如需验证升序输入,只需定义一个变量记录输入的数字,并在下次循环输入时比大小。)所以,定义2个指针分别指向a,b最后一个输入的元素地址,嵌套循环,分别往前移动,同时比较两数组元素,每次找到对应位置就将a移位并插...
  • 15863851033 :帮忙检查下代码啊。C语言。
    充蒋夏2736 :答:正确答案 include<stdio.h> int add(int a,int b);int sub(int a,int b);int mul(int a,int b);int div(int a,int b);void result(int (*pf)(int,int),int a,int b);//上面的int (*pf) () ,后面的括号里要加上与函数对应的形参数据类型 ,-> int (*pf) (int,int)main...
  • 15863851033 :c语言的输出代码是什么?
    充蒋夏2736 :答:这个问题就是一个简单的输出 代码示例如下 include<stdio.h> int main(){ printf("Hello World!\n");}
  • 15863851033 :谁帮我看看这段关于结构体的C语言代码
    充蒋夏2736 :答:p->sex);printf("%d",p->high);printf("%d",p->weight);printf("%d",p->timeofenter.year);printf("%d",p->timeofenter.month);printf("%d",p->timeofenter.day);} 主要问题:给name和sex赋值要用strcpy,给month赋值不能用09,因为0开头编译器默认是8进制数,看看还有什么问题吗 ...
  • 15863851033 :各位高手,帮我看看这个用C语言怎么编??万分感激。
    充蒋夏2736 :答:double s;printf("Please enter n(int n>0)...\nn=");if(scanf("%d",&n)!=1 || n<1){printf("Input error, exit...\n");return 0;}for(s=1,i=2;i<=n;i++)s += i&1 ? (1.0-i)/i : (i-1.0)/i;printf("The result is %g\n",s);return 0;}运行样例:...
  • 15863851033 :c语言代码,帮忙看看,非常感谢啊
    充蒋夏2736 :答:i];a[i]=a[i+1];a[i+1]=t;} printf("the sorteed numbers:\n");for(i=0;i<5;i++)printf("%4.2f",a[i]);段中重复使用变量i ,会使第一层循环和第三层互相干扰。可将第三行for(i=0;i<4-j;i++)改为for(k=0;k<4-j;k++)(源代码第四行改为int i,j,t,k;)...
  • 15863851033 :谁能帮我看看代码?c语言26行输出乱码。而如果我把14行注释得输出给打开...
    充蒋夏2736 :答:26行是不管你是14行是否注释都是打印乱码,因为你函数fun()里面的str1数组是临时变量,在函数执行完后就会没了,此时这段地址上的内容就是随机的乱码
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网