十六周结构体1

问题及代码

#include <stdio.h>
struct complex
{
    int re;
    int im;
};
int main()
{
    struct complex x,y,s,p;
    scanf("%d%d",&x.re,&x.im);
    scanf("%d%d",&y.re,&y.im);
    //复数s是复数x和y的和
    s.re=x.re+y.re;
    s.im=x.im+y.im;
    printf("   sum=%5d+%5di\n",s.re,s.im);
    //复数p是复数x和y的积
    p.re=x.re*y.re-x.im*y.im;
    p.im=x.re*y.im+x.im*y.re;
    printf("   product=%5d+%5di\n",p.re,p.im);
    return 0;
}


 

运行结果

知识点总结

复数计算代码

p.re=x.re*y.re-x.im*y.im;

p.im=x.re*y.im+x.im*y.re;

printf(" product=%5d+%5di\n",p.re,p.im);

学习心得

在C语言中,GPS时间是以协调世界时(Coordinated Universal Time, UTC)为基础的,通常表示为连续数目的(Week Number)加上剩余的小数值(即星期数和毫秒)。要将GPS时间转换为北京时间,你需要考虑以下几个步骤: 1. 获取UTC时间:首先,你需要从GPS数据中提取出UTC时间的数、星期数以及毫秒部分。 2. 转换到Unix时间戳:UTC时间乘以7天(因为一有7天,一共有604800秒),再加上GPS数对应的开始时间(大约1980年1月6日的闰秒调整)作为Unix时间戳。 3. 根据中国时差计算:北京时间比UTC快8小时。如果需要日期平移,还需要考虑到夏令时的变化。中国的夏令时期间通常是每年的三月最后一个星期六的早上1点开始,十月最后一个星期六的晚上1点结束。 4. 将Unix时间戳转换为本地日期和时间:可以使用`time_t`结构体和相关的函数如`gmtime_r()`(获取格林尼治标准时间的结构)和`localtime_r()`(转换为本地时间)。 ```c #include <stdio.h> #include <time.h> // GPS数和余数转换为Unix时间戳 long long gps_to_unix(int weeks, int julian_seconds) { // ...这里计算闰秒和总秒数... } // 转换为北京时间 struct tm bj_time; time_t utc_time = gps_to_unix(weeks, ...); gmtime_r(&utc_time, &bj_time); // 获得UTC时间 bj_time.tm_hour += 8; // 加上8小时时差 // 输出北京时间 char time_str[64]; strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", &bj_time); printf("北京时间: %s\n", time_str);
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值