求下面C语言程序的算法和设计思想,最好附有程序框图或NS图。
#include<stdio.h>boolisday(intday,intmouth,intyear){inta[12]={31,28,31,30,31,30,31,31...
#include<stdio.h>
bool isday(int day,int mouth,int year)
{
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if((year%400==0)||(year%4==0&&year%100!=0)) a[1]++;
if(day>a[mouth-1]||day<1)
return true;
else
return false;
}
void main()
{
int i,year,mouth,day;
int sum,sign;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
do
{
sum=0;sign=0;
puts("请输入年、月、日:");
scanf("%d%d%d",&year,&mouth,&day);
if(((year%400==0)||(year%4==0&&year%100!=0))&&mouth>2)
{
sum=day+1;//闰年,记得加1
}
else sum=day;
for(i=0;i<mouth-1;i++)
sum+=a[i];
if(year<1||mouth<1||mouth>12||isday(day,mouth,year))
{
puts("输入错误,请重新输入:");
sign=1;
}
}while(sign);
printf("为第%d天\n",sum);
} 展开
bool isday(int day,int mouth,int year)
{
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if((year%400==0)||(year%4==0&&year%100!=0)) a[1]++;
if(day>a[mouth-1]||day<1)
return true;
else
return false;
}
void main()
{
int i,year,mouth,day;
int sum,sign;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
do
{
sum=0;sign=0;
puts("请输入年、月、日:");
scanf("%d%d%d",&year,&mouth,&day);
if(((year%400==0)||(year%4==0&&year%100!=0))&&mouth>2)
{
sum=day+1;//闰年,记得加1
}
else sum=day;
for(i=0;i<mouth-1;i++)
sum+=a[i];
if(year<1||mouth<1||mouth>12||isday(day,mouth,year))
{
puts("输入错误,请重新输入:");
sign=1;
}
}while(sign);
printf("为第%d天\n",sum);
} 展开
展开全部
bool isday(int day,int mouth,int year)//布尔型
{
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};//基激建立数组,一年每个月的日烂银子数(平年)
if((year%400==0)||(year%4==0&&year%100!=0)) a[1]++;//如果为闰年,2月份加一天
if(day>a[mouth-1]||day<1)//判断天数是否合法
return true;
else
return false;
}
void main()//根据年月日返回该天在一年的哪一天
{
int i,year,mouth,day;
int sum,sign;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
do
{
sum=0;sign=0;
puts("请输入年、月、日:");
scanf("%d%d%d",&year,&mouth,&day);
if(((year%400==0)||(year%4==0&&year%100!=0))&&mouth>2)
{
sum=day+1;//闰年,记得加1
}
else sum=day;
for(i=0;i<mouth-1;i++)
sum+=a[i];//统计天数
if(year<1||mouth<1||mouth>12||isday(day,mouth,year))/搏历袜/判断日期是否合法
{
puts("输入错误,请重新输入:");
sign=1;
}
}while(sign);
printf("为第%d天\n",sum);
}
{
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};//基激建立数组,一年每个月的日烂银子数(平年)
if((year%400==0)||(year%4==0&&year%100!=0)) a[1]++;//如果为闰年,2月份加一天
if(day>a[mouth-1]||day<1)//判断天数是否合法
return true;
else
return false;
}
void main()//根据年月日返回该天在一年的哪一天
{
int i,year,mouth,day;
int sum,sign;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
do
{
sum=0;sign=0;
puts("请输入年、月、日:");
scanf("%d%d%d",&year,&mouth,&day);
if(((year%400==0)||(year%4==0&&year%100!=0))&&mouth>2)
{
sum=day+1;//闰年,记得加1
}
else sum=day;
for(i=0;i<mouth-1;i++)
sum+=a[i];//统计天数
if(year<1||mouth<1||mouth>12||isday(day,mouth,year))/搏历袜/判断日期是否合法
{
puts("输入错误,请重新输入:");
sign=1;
}
}while(sign);
printf("为第%d天\n",sum);
}
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询