计算从出生年到现在的天数(假设出生日期是*年1月1日)
代码如下:
AgeToDay.cpp
/*AgeToDay.cpp -- 把自己的年龄转换成天数*/
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define RUNYEAR 366 //闰年天数
#define PINGYEAR 365 //平年天数
int getThisYear(); //得到当前年份 char year[]表示指向char类型的指针
bool isRunYear(int year); //判断是否是闰年
int getDays(int year,int age,int days); //得到天数
int getNowDays(); //得到今天是今年的第几天
int main(void)
{
int year; //今年
int myAge; //年龄
int days; //得到今天是今年的第几天
int allDays;
year = getThisYear(); //得到当前年份
days = getNowDays();
printf("Please enter your age:");
if(scanf("%d",&myAge) == 1 && myAge > 0 && myAge < 150)
{
allDays = getDays(year,myAge,days);
printf("the days you have gone is : %d\n",allDays);
}
else
{
printf("输入格式错误!\n");
}
return 0;
}
//得到当前系统年份
int getThisYear()
{
struct tm *nowtime; //时间结构
time_t local_time; //本地时间
char year[5]; //今年
local_time = time(NULL);
nowtime = localtime(&local_time);
strftime(year,5,"%Y",nowtime); //转换成2001形式
return atoi(year);
}
int getNowDays()
{
struct tm *nowtime;
time_t local_time;
char days[10];
local_time = time(NULL);
nowtime = localtime(&local_time);
strftime(days,10,"%j",nowtime);
puts(days);
return atoi(days);
}
//判断某年是否为闰年,若是则返回true
bool isRunYear(int year)
{
if((year % 4 ==0 && year % 100 !=0) || year % 400 == 0)
return true;
return false;
}
//得到从出生年到现在的天数(假设是1月1号出生)
int getDays(int year,int age,int days)
{
int count = 0; //从当前年份到出生年份含有的闰年数
int alldays;
for(int i = year -1; i < year - age ; i-- )
{
if(isRunYear(i))
count++;
}
alldays = RUNYEAR * count +PINGYEAR * (age - 1 - count) + days;
return alldays;
}
分享到:
相关推荐
本练习要求编写一个程序,将用户的年龄转换为天数,并输出年龄和天数。 知识点: * 变量声明和赋值 * 数据类型(整数) * 基本运算符(乘法) 练习5:输出夸奖消息 本练习要求编写一个程序,输出夸奖消息,并...
3. 年龄转换为天数 此任务让学生通过编写程序加深对数据类型转换和算术运算的理解。 ```c #include int main(void) { int age, days; printf("请输入您的年龄: "); scanf("%d", &age); days = age * 365;...
3. 年龄与天数转换:这个练习涉及简单的算术运算,将年龄转换为天数。要注意的是,实际的转换要考虑闰年和平年,但这里简化了问题,忽略了这种差异。 4. 用户定义函数的应用:练习4演示了如何定义和调用自定义函数...
3. 此练习要求将年龄转换为天数,这是一个简单的乘法运算。要注意的是,这个程序假设每年都是365天,忽略了闰年的情况。实际的年龄到天数转换要考虑闰年。 4. 这个练习涉及到函数的定义和调用。你需要创建两个函数...
- **题目要求**:编写程序,将年龄转换为天数,并输出原始年龄和对应的天数。 - **代码示例**: ```c #include int main(void) { int age = 22; printf("Age: %d\n", age); printf("Days: %d\n", age * 356)...
- **解析**:基于简单的数学计算,将年龄转换为天数。 - **实现代码**: ```c #include int main() { int age = 22; int days = age * 365; printf("Age: %d\n", age); printf("Days: %d\n", days); ...
- **题目要求:** 编写程序将年龄转换为天数(不考虑平年与闰年问题)。 - **示例代码:** ```c #include int main(void) { int age = 22; int days = age * 356; printf("Age: %d\n", age); printf(...
- 年龄转换为天数的简单计算方法是:年龄 * 365(不考虑闰年)。 - 这里假设每年有356天,忽略了闰年的情况。 4. **编写程序输出特定字符串** **代码示例:** ```c #include void printf1(void); void ...
程序首先定义了两个整型变量`ageyears`和`agedays`,然后通过乘法运算将年龄转换为天数,并使用`printf`函数打印结果。 **代码分析**: ```c #include int main(void) { int ageyears; // 定义年龄变量 int ...
`int ageyears`和`int agedays`分别用于存储年龄(年)和天数。这里还展示了`long`类型的使用,以处理可能超出`int`范围的大数值。`agedays`的计算使用了乘法运算符`*`,并使用`printf`进行格式化输出。 3. **函数...
本题要求将年龄转换为天数,并输出原始年龄和对应的天数。这里假设一年有356天,不考虑闰年的影响。代码中首先定义了一个整型变量`age`并赋予一个值,接着计算年龄转换为天数的结果,并分别输出这两个值。 **示例...
例如,PE 2-1展示了如何使用`printf`进行多行输出,PE 2-3计算年龄的天数,引入了整型变量和类型转换,PE 2-4则展示了如何定义和调用自定义函数,PE 2-5展示了变量的赋值和简单的算术操作,PE 2-7演示了函数的嵌套...
- 计算年龄时,需考虑闰年和每个月的天数,`struct tm`结构中的`tm_yday`字段可以直接获取当年的天数。 4. **加密算法**: - 利用ASCII码值进行加减操作实现简单的字符加密。 - 对于非字母字符,不进行处理以...
代码中定义了两个整型变量`ageyears`和`agedays`,分别用于存储年龄(以年为单位)和年龄对应的天数。通过将年龄乘以365得到天数,然后使用`printf`函数以友好的格式输出结果。 ```c ageyears = 44; agedays = 365 ...
《C-primer-plus(第五版)》是一本深入浅出介绍C语言编程的书籍,其课后编程练习旨在帮助读者巩固所学知识,提升编程能力。以下是对这些编程练习的详细解析: 1. 这个练习要求编写一个英寸到厘米的转换程序。首先,...
- 将年龄转换为大致的天数(不考虑闰年) **代码示例:** ```c #include int main(void) { int age = 22; // 假设年龄为22岁 printf("Age: %d\n", age); printf("Day: %d\n", age * 365); // 每年按365天计算 ...
**编程练习3**:编写一个程序,将年龄转换成天数并显示。 - **实现代码示例**: ```c #include int main() { int age = 22; printf("Age: %d\n", age); printf("Day: %d\n", age * 356); return 0; } ```...
例如,练习三中年龄转换为天数,需要使用顺序结构来完成。而练习二中,利用printf函数的不同用法,通过控制换行符和输出格式,展示了流程控制中的选择结构。循环结构通常涉及到for、while和do-while等循环语句,用来...
第5题要求用户输入年龄,然后将其转换为秒数,这里使用了地球年对应的秒数(约为3.156e7秒)。第6题涉及水分子数量的计算,用户输入夸脱数,程序根据水的摩尔质量和体积换算出水分子的数量。第7题则是英寸与厘米之间...
3. **变量与算术运算**:定义整型变量`age`并赋值,通过简单的算术运算(年龄乘以365)将年龄转换为天数,然后使用`printf()`输出结果。这里体现了C语言的基础数据类型和基本运算。 4. **函数定义与调用**:练习中...