C 语言计算星期几代码解析及错误修正
#include <stdio.h>
int main() { int w, c, y, m, d; printf("year mouth day:"); scanf_s("%d, %d, %d, %d", &c, &y, &m, &d); w = ((c / 4) - (2 * c) + y + (y / 4) + (13 * (m + 1)) / 5 + d - 1) % 7; printf("w is: %d", w); return 0; }
在你提供的代码中,存在几个错误:
-
缺少分号:在声明变量
int w, c, y, m, d后,缺少分号。 -
缺少逗号:在
scanf_s函数中,格式字符串 '"d%, d%, d%, d%"' 应该改为 '" %d, %d, %d, %d"',并在每个%d之前添加逗号。 -
大括号错误:在计算
w的表达式中,大括号应该改为小括号()。 -
取模运算符错误:在使用取模运算符
%时,应该将整个表达式用括号括起来,以避免编译器产生歧义。
修正后的代码如下:
#include <stdio.h>
int main() {
int w, c, y, m, d;
printf("year mouth day:");
scanf_s("%d, %d, %d, %d", &c, &y, &m, &d);
w = ((c / 4) - (2 * c) + y + (y / 4) + (13 * (m + 1)) / 5 + d - 1) % 7;
printf("w is: %d", w);
return 0;
}
修正后的代码已经解决了上述问题,并可以编译和执行。在这个示例中,我们根据年月日计算了一周中的某天,并将结果输出。请注意,这只是一个简化的示例,可能需要根据具体需求进行进一步改进和完善。
原文地址: https://www.cveoy.top/t/topic/o5d 著作权归作者所有。请勿转载和采集!