有没有c语言的大神帮我改一下这个代码,怎么把它的运行时间缩短啊?是用指针表示数组吗?

能不能帮我改一下这个代码,算出来的结果为啥也不对,求帮忙,谢谢!#include<stdio.h>
int main()
{
int YYYY, MM, DD;
int months[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int sum=0, SUM=0,i; while(scanf("%d-%d-%d", &YYYY, &MM, &DD))
{
if ((YYYY % 4 == 0 && YYYY & 100 != 0) || (YYYY % 400 == 0))
months[2]=29;
for (i =1;i<MM; i++)
sum += months[i];
SUM = sum+DD;
printf("%d\n", SUM);
}
return 0;
}

#include <stdio.h>

int main()

{

    int YYYY, MM, DD;

    int months[12] = {0, 31, 31+28, 31+28+31, 31+28+31+30, 31+28+31+30+31, 31+28+31+30+31+30, 31+28+31+30+31+30+31, 31+28+31+30+31+30+31+31, 31+28+31+30+31+30+31+31+30, 31+28+31+30+31+30+31+31+30+31, 31+28+31+30+31+30+31+31+30+31+30 };

    int sum = 0, SUM = 0, i;

    while (scanf("%d-%d-%d", &YYYY, &MM, &DD))

    {

        SUM = months[MM-1] + DD;

        if ( MM > 2 && ( (YYYY % 4 == 0 && YYYY & 100 != 0) || (YYYY % 400 == 0) ))

            SUM+=1;

        printf("%d\n", SUM);

    }

    return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-11-27

你的程序主要问题是c语言的数组下标从0开始,所以月份要减一.

并且要去掉while循环,因为题目未要求多次输入.

改正后的程序如下(改动地方见注释)

本回答被提问者采纳
第2个回答  2021-11-27

1. C语言建议:数据,程序设计之根本  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





2. C语言建议:保持严谨的程序设计,一切从表达式开始做起  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





3. C语言建议:程序控制语句应该保持简洁高效  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





4. C语言建议:函数同样需要保持简洁高效  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





5. C语言建议:不会使用指针的程序员是不合格的  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





6. C语言建议:数组并非指针  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





7. C语言建议:结构、位域和枚举  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





8. C语言建议:字符与字符串  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





9. C语言建议:文件系统  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





10. C语言建议:预处理器  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





11. C语言建议:断言与异常处理  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





12. C语言建议:内存管理  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





13. C语言建议:信号处理  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





14. C语言建议:了解C11标准  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。





15. C语言建议:保持良好的设计  如果需要这些内容的更高清图片、思维导图源文件、excel文件的兄弟,请给“裕玲”发私信:资料获取。

相似回答