今日练习如下:
1.找出二维数组(4*4)中,最大元素的位置,即行列数
#include<stdio.h>
int main()
{
int a[4][4]={
1,2,3,4,
5,6,7,8,
7,5,3,1,
1,5,9,5};
int i,j;
int b,c;
int max={0};
for(j=0;j<4;j++)
{
for(i=0;i<4;i++)
{
if(max<a[i][j])
{
max=a[i][j];
b=i+1;
c=j+1;
}
}
}
printf("最大值为%d\n",max);
printf("最大值位于第%d行第%d列\n",b,c);
}
2.输入某年某月某日,判断这一天是这一年的第几天
#include<stdio.h>
int main()
{
int year,month,day;
printf("请输入年份:");
scanf("%d",&year);
printf("请输入月份:");
scanf("%d",&month);
printf("请输入日期:");
scanf("%d",&day);
int i,sumd=0;
int day1[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0))
{
day1[1]=29;
}
else
{
day1[1]=28;
}
for(i=0;i<month-1;i++)
{
sumd+=day1[i];
}
printf("%d",sumd+day);
}
3.斐波那契数列 0 1 1 2 3 5 15个
#include<stdio.h>
int main()
{
int a[15]={1,1};
int i;
for(i=2;i<15;i++)
{
a[i]=a[i-2]+a[i-1];
}
for(i=0;i<15;i++)
{
printf("%d ",a[i]);
}
}
4.输入某年某月某日,判断这一天到今天一共有多少天
#include<stdio.h>
int main()
{
int year,month,day;
int year_now=2020,month_now=4,day_now=7;
int day1[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int year_sum=0,month_sum=0,sum=0;
int year_sum_now=0,month_sum_now=0,sum_now=0;
int mm=0,nn=0,i;
printf("请输入年份");//2020 4 7 1 1 1 2014 2 2
scanf("%d",&year);
printf("请输入月份");
scanf("%d",&month);
printf("请输入日期");
scanf("%d",&day);
for(i=1;i<year;i++)
{
if((i%4==0&&i%100!=0)||(i%100==0&&i%400==0))
{
mm++;
}
}
year_sum=365*(year-1)+mm;
if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0))
{
day1[1]=29;
}
else
{
day1[1]=28;
}
for(i=0;i<month-1;i++)
{
month_sum+=day1[i];
}
sum=year_sum+month_sum+day;
for(i=1;i<year_now;i++)
{
if((i%4==0&&i%100!=0)||(i%100==0&&i%400==0))
{
nn++;
}
}
year_sum_now=365*(year_now-1)+nn;
if((year_now%4==0&&year_now%100!=0)||(year_now%100==0&&year_now%400==0))
{
day1[1]=29;
}
else
{
day1[1]=28;
}
for(i=0;i<month_now-1;i++)
{
month_sum_now+=day1[i];
}
sum_now=year_sum_now+month_sum_now+day_now;
if(sum>sum_now)
{
printf("天数差为%d",sum-sum_now);
}
else
{
printf("天数差为%d",sum_now-sum);
}
}