
c语言简单编程大虾们帮忙啊 ! 10
一、实验目的掌握选择结构程序设计的一般方法及选择结构程序的调试方法。二、实验要求1.仔细阅读下列实验内容,并编写出相应的C语言源程序。2.在VC运行环境下,编辑录入源程序...
一、 实验目的
掌握选择结构程序设计的一般方法及选择结构程序的调试方法。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。
2. 在VC运行环境下,编辑录入源程序。
3. 调试运行源程序, 注意观察调试运行过程中发现的错误及改正方法。
4. 掌握如何根据出错信息查找语法错误。
5. 最后提交带有充分注释的源程序文件(扩展名为.c)。 要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。
6. 源程序注释信息必须包括以下几方面内容:
⑴程序功能描述。
⑵程序版本号、创作日期。
⑶作者信息描述:班级、学号、姓名。
⑷问题分析描述。
⑸算法设计描述。
⑹关键语句注释说明。
⑺调试运行过程中出现的错误及改正方法。
⑻输入数据样例。
⑼输出数据样例。
三、实验内容
你知道你生日那天是星期几吗,还有你知道你爸爸生日那天是星期几吗?你可能会说:可以查万年历啊。那么,不查万年历你能计算出来吗?
以下两题,任选其一解答。
1.编程序实现:输入一个年份y,求出从公元1年1月1日到y年1月1日,总共有多少天,并求出y年的1月1日是星期几。
cyh19921118@126.com 展开
掌握选择结构程序设计的一般方法及选择结构程序的调试方法。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。
2. 在VC运行环境下,编辑录入源程序。
3. 调试运行源程序, 注意观察调试运行过程中发现的错误及改正方法。
4. 掌握如何根据出错信息查找语法错误。
5. 最后提交带有充分注释的源程序文件(扩展名为.c)。 要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。
6. 源程序注释信息必须包括以下几方面内容:
⑴程序功能描述。
⑵程序版本号、创作日期。
⑶作者信息描述:班级、学号、姓名。
⑷问题分析描述。
⑸算法设计描述。
⑹关键语句注释说明。
⑺调试运行过程中出现的错误及改正方法。
⑻输入数据样例。
⑼输出数据样例。
三、实验内容
你知道你生日那天是星期几吗,还有你知道你爸爸生日那天是星期几吗?你可能会说:可以查万年历啊。那么,不查万年历你能计算出来吗?
以下两题,任选其一解答。
1.编程序实现:输入一个年份y,求出从公元1年1月1日到y年1月1日,总共有多少天,并求出y年的1月1日是星期几。
cyh19921118@126.com 展开
展开全部
#include<stdio.h>
void main(){
int year,month,day,sum,leap;
printf("prease imput year month day");
scanf("%d%d%d",&year,&month,&day);
switch(month){
case 1 :sum=0+day;break;
case 2 :sum=31+day;break;
case 3 :sum=59+day;break;
case 4 :sum=90+day;break;
case 5 :sum=120+day;break;
case 6 :sum=151+day;break;
case 7 :sum=181+day;break;
case 8 :sum=212+day;break;
case 9 :sum=243+day;break;
case 10 :sum=273+day;break;
case 11 :sum=304+day;break;
case 12 :sum=334+day;break;
default:printf("输入错误\n");break;
}
if((year%4==0&&year%100!=0)||(year%400==0))
leap=1;
else leap=0;
if(leap==1&&month>2) sum++;
printf("该天为第%d天\n",sum);}
其实这个问题我知道的还有一种写法 更简单一下 那就是把每一个月的天数设置为一个数组的值 相应的下标加一就是月数 一并附上
#include<iostream>
using namespace std;
void main()
{
int a[12] = {0,31,59,90,120,151,181,212,243,273,304,334};
int i,b[12] = {0,31,60,91,121,152,182,213,244,274,305,335},year,month,day,allday;
cout<<"please input year,month,day : ";
cin>>year>>month>>day;
if(year%400==0||(year%4==0&&year%100!=0))
{
for(i = 0;i<12;i++)
{
if(month == i+1) allday = b[i] + day;
}
cout<<year<<"年"<<"第"<<allday<<"天"<<endl;
}
else
{
for(i = 0;i<12;i++)
{
if(month == i+1) allday = a[i] + day;
break;
}
cout<<year<<"年"<<"第"<<allday<<"天"<<endl;
}
}
void main(){
int year,month,day,sum,leap;
printf("prease imput year month day");
scanf("%d%d%d",&year,&month,&day);
switch(month){
case 1 :sum=0+day;break;
case 2 :sum=31+day;break;
case 3 :sum=59+day;break;
case 4 :sum=90+day;break;
case 5 :sum=120+day;break;
case 6 :sum=151+day;break;
case 7 :sum=181+day;break;
case 8 :sum=212+day;break;
case 9 :sum=243+day;break;
case 10 :sum=273+day;break;
case 11 :sum=304+day;break;
case 12 :sum=334+day;break;
default:printf("输入错误\n");break;
}
if((year%4==0&&year%100!=0)||(year%400==0))
leap=1;
else leap=0;
if(leap==1&&month>2) sum++;
printf("该天为第%d天\n",sum);}
其实这个问题我知道的还有一种写法 更简单一下 那就是把每一个月的天数设置为一个数组的值 相应的下标加一就是月数 一并附上
#include<iostream>
using namespace std;
void main()
{
int a[12] = {0,31,59,90,120,151,181,212,243,273,304,334};
int i,b[12] = {0,31,60,91,121,152,182,213,244,274,305,335},year,month,day,allday;
cout<<"please input year,month,day : ";
cin>>year>>month>>day;
if(year%400==0||(year%4==0&&year%100!=0))
{
for(i = 0;i<12;i++)
{
if(month == i+1) allday = b[i] + day;
}
cout<<year<<"年"<<"第"<<allday<<"天"<<endl;
}
else
{
for(i = 0;i<12;i++)
{
if(month == i+1) allday = a[i] + day;
break;
}
cout<<year<<"年"<<"第"<<allday<<"天"<<endl;
}
}
展开全部
#include"stdio.h"
#include"string.h"
typedef struct
{
int year;
int month;
int day;
}MyDate;
int GetAbsDays(MyDate x)
{
int i;
int month_day[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int year = x.year-1; // 因为欲求距离1年1月1日的距离
int days = year * 365 + year/4 - year/100 + year/400;
if(x.year%4==0 && x.year%100!=0 || x.year%400==0) month_day[1]++;
for(i=0; i<x.month-1; i++)
days += month_day[i];
days += x.day-1;
return days;
}
int GetDiffDays(MyDate a, MyDate b)
{
return GetAbsDays(b) - GetAbsDays(a);
}
int main(int argc, char* argv[])
{
MyDate a = {1,1,1};
MyDate b ;
char Data[8][15]={"星期一","星期二","星期三","星期四","星期五","星期六","星期日",};
scanf("%d%d%d",&b.year,&b.month,&b.day);
int n = GetDiffDays(a,b);
puts(Data[n%7]);
printf("与元年一月一日 相差%d天\n", n);
}
#include"string.h"
typedef struct
{
int year;
int month;
int day;
}MyDate;
int GetAbsDays(MyDate x)
{
int i;
int month_day[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int year = x.year-1; // 因为欲求距离1年1月1日的距离
int days = year * 365 + year/4 - year/100 + year/400;
if(x.year%4==0 && x.year%100!=0 || x.year%400==0) month_day[1]++;
for(i=0; i<x.month-1; i++)
days += month_day[i];
days += x.day-1;
return days;
}
int GetDiffDays(MyDate a, MyDate b)
{
return GetAbsDays(b) - GetAbsDays(a);
}
int main(int argc, char* argv[])
{
MyDate a = {1,1,1};
MyDate b ;
char Data[8][15]={"星期一","星期二","星期三","星期四","星期五","星期六","星期日",};
scanf("%d%d%d",&b.year,&b.month,&b.day);
int n = GetDiffDays(a,b);
puts(Data[n%7]);
printf("与元年一月一日 相差%d天\n", n);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询