作业1:定义一个5*5的二维数组并初始化,找出最小值的坐标,计算出最小值周围一圈数据之和
作业2:输入N,显示前N层杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
作业3:输入一个日期(yyyy-mm-dd),计算该日期距离1年1月1日过了多少天
2022-7-8
个人代码如下:
#includeint main(int argc,const char* argv[]) { int arr[5][5]={}; printf("=================test01===================n"); printf("请输入5*5数据:"); for(int i=0;i<5;i++) { for(int j=0;j<5;j++) { scanf("%d",&arr[i][j]); } } int max_i=0,max_j=0; int max = arr[0][0]; for(int i=0;i<5;i++) { for(int j=0;j<5;j++) { if(arr[i][j]>max) { max = arr[i][j]; max_i = i; max_j = j; } } } int sum=0; int index_i[8]={},index_j[8]={}; index_i[0]=max_i-1; index_i[1]=max_i-1; index_i[2]=max_i-1; index_i[3]=max_i; index_i[4]=max_i; index_i[5]=max_i+1; index_i[6]=max_i+1; index_i[7]=max_i+1; index_j[0]=max_j-1; index_j[1]=max_j; index_j[2]=max_j+1; index_j[3]=max_j-1; index_j[4]=max_j+1; index_j[5]=max_j-1; index_j[6]=max_j; index_j[7]=max_j+1; for(int i=0;i<8;i++) { if(index_i[i]>=0&&index_j[i]<5&&index_i[i]<5&&index_j[i]>=0) { sum+=arr[index_i[i]][index_j[i]]; } } printf("%dn",sum); printf("=================test02===================n"); printf("请输入杨辉三角的层数:n"); int hight=0; scanf("%d",&hight); int a[hight][hight]; for(int i=0;i for(int j=0;j a[i][j]=0; if(j==0||i==j) { a[i][j]=1; }else { a[i][j]=a[i-1][j-1]+a[i-1][j]; } } } for(int i=0;i for(int j=0;j printf("%dt",a[i][j]); } printf("n"); } printf("=================test03===================n"); printf("请输入一个日期,格式为yyyy-mm-dd :"); int year,month,day; scanf("%d-%d-%d",&year,&month,&day); int day_pass=0,count_r=0; for(int i=1;i if(i%400==0||i%4==0 && i%100!=0) { count_r++; } } day_pass+=(year-1)*365+count_r; switch(month-1) { case 11:day_pass+=30; case 10:day_pass+=31; case 9:day_pass+=30; case 8:day_pass+=31; case 7:day_pass+=31; case 6:day_pass+=30; case 5:day_pass+=31; case 4:day_pass+=30; case 3:day_pass+=31; case 2:day_pass+=28; case 1:day_pass+=31; case 0:break; } day_pass+=day-1; printf("已经过了%d天了n",day_pass); return 0; } > 如有更好的思路,还望指出



