查找错误 #include <stdio.h> #include <iostream> using namespace std; int main() { /********* Begin *********/ int y, m, d, n; cin >> y >> m >> d; int t = (y % 400 == 0) || (y % 4 == 0 && y % 100 != 0); n = 0; for (int i = 1; i < m; i++) { if (i == 2) n += 28 + t else if (i == 4 || i == 6 || i = 9 || i == 11) n += 30; else n += 31; } n += d; printf("%d-%d-%d是第%d天\n", y, m, d, n); return 0; }
时间: 2024-01-31 12:01:46 浏览: 97
C++程序中main(int argc, char *argv[])函数的参数意义
这段代码可能出现了两个问题:
1. 在头文件的引用上,C++标准库的头文件应该用尖括号,而不是双引号。因此应该改为:
```
#include <stdio.h>
#include <iostream>
```
2. 在第13行的if语句中,有一处赋值号应该是等于号。因为赋值号只能用于赋值操作,不能作为判断条件。应该改为:
```
if (i == 2)
n += 28 + t;
else if (i == 4 || i == 6 || i == 9 || i == 11)
n += 30;
else
n += 31;
```
修改后的代码如下:
```
#include <stdio.h>
#include <iostream>
using namespace std;
int main() {
int y, m, d, n;
cin >> y >> m >> d;
int t = (y % 400 == 0) || (y % 4 == 0 && y % 100 != 0);
n = 0;
for (int i = 1; i < m; i++) {
if (i == 2)
n += 28 + t;
else if (i == 4 || i == 6 || i == 9 || i == 11)
n += 30;
else
n += 31;
}
n += d;
printf("%d-%d-%d是第%d天\n", y, m, d, n);
return 0;
}
```
阅读全文