文章

67

粉丝

207

获赞

29

访问

36.6k

头像
打印日期 题解:求大佬帮我分析一下这种情况的原因
P1410 华中科技大学机试题
发布于2024年1月19日 10:50
阅读数 599

这是完整代码,通过率100%没问题
#include<iostream>
#include <string.h>
using namespace std;
int main(){
	
	int y=0,d=0,m=0,c=0,d1=0;
//这里=========================================================================================
	char cc[100][11];
	for(int i=0;i<100;i++){
		for(int j=0;j<11;j++)
			cc[i][j]=0;
	}
//================================================================================================
	while(cin >> y >> d){
	m=0;
	d1=d;
	if((y%100!=0&&y%4==0)||y%400==0){
		for(int i=1;i<=12;i++){
			switch(i){
			    case 1:m++;break;
              	case 2:d=d-31;m++;break;
				case 3:d=d-29;m++;break;
				case 4:d=d-31;m++;break;
				case 5:d=d-30;m++;break;
				case 6:d=d-31;m++;break;
				case 7:d=d-30;m++;break;
			    case 8:d=d-31;m++;break;
				case 9:d=d-31;m++;break;
				case 10:d=d-30;m++;break;
				case 11:d=d-31;m++;break;
				case 12:d=d-30;m++;break;
			}
			if(d<=0){
				d=d1;
				m=m-1;
...
登录查看完整内容


登录后发布评论

2 条评论
snake VIP
2024年1月19日 11:53

这里的问题主要是对字符串数组的理解

字符串数组最后需要以'\0'结尾表示字符串结束了

所以11改成10就没有结尾符了

puts输出字符串同理,也是遇到'\0'结束

赞(0)

孙某人 : 回复 snake: 明白了,谢谢

2024年1月19日 13:17