c语言2个时间比较的程序,输入两个时间(包括时和分),求时间差是多少。用c语言写出此程序,求大神帮忙...

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

tqseyi

推荐于 2017.09.20

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:56%    等级:12

已帮助:5764人

#include

#include

typedef struct Time

{

int hour, minute, second;

}Time;

void cal(struct Time t1, struct Time t2, struct Time *s)

{

int flag = 0;

if (t1.second

{

4102flag = 1;

s->second = t1.second + 60 - t2.second;

}

else

{

s->second = t1.second - t2.second;

}

if (flag == 1)

t1.minute--;

flag = 0;

if (t1.minute

{

flag = 1;

s->minute = t1.minute + 60 - t2.minute;

}

else

{

s->minute = t1.minute - t2.minute;

}

if (flag == 1)

t1.hour--;

flag = 0;

s->hour = t1.hour - t2.hour;

}

int main()

{

struct Time sum, t1, t2;

printf("输入1653时间:格式 12:12:3\n");

scanf("%d:%d:%d", &t1.hour, &t1.minute, &t1.second);

printf("输入下一个时间:格式 12:12:3\n");

scanf("%d:%d:%d", &t2.hour, &t2.minute, &t2.second);

cal(t1, t2, &sum);

printf("时间差:%d:%d:%d\n", sum.hour, sum.minute, sum.second);

system("pause");

return 0;

}

00分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于GPU的性能测试,可以使用CUDA进行编程实现。CUDA是一种并行计算平台和编程模型,支持在NVIDIA GPU上进行高效的并行计算。 以下是一个简单的CUDA程序示例,用于测试GPU的读写性能: ```c #include <stdio.h> #include <stdlib.h> #include <cuda_runtime.h> #define N 1000000 __global__ void kernel(int *a, int *b, int *c) { int i = threadIdx.x; c[i] = a[i] + b[i]; } int main() { int *h_a, *h_b, *h_c; int *d_a, *d_b, *d_c; // Allocate memory on host h_a = (int*)malloc(N * sizeof(int)); h_b = (int*)malloc(N * sizeof(int)); h_c = (int*)malloc(N * sizeof(int)); // Initialize host data for (int i = 0; i < N; i++) { h_a[i] = i; h_b[i] = i; } // Allocate memory on device cudaMalloc((void**)&d_a, N * sizeof(int)); cudaMalloc((void**)&d_b, N * sizeof(int)); cudaMalloc((void**)&d_c, N * sizeof(int)); // Copy data from host to device cudaMemcpy(d_a, h_a, N * sizeof(int), cudaMemcpyHostToDevice); cudaMemcpy(d_b, h_b, N * sizeof(int), cudaMemcpyHostToDevice); // Launch kernel kernel<<<1, N>>>(d_a, d_b, d_c); // Copy data from device to host cudaMemcpy(h_c, d_c, N * sizeof(int), cudaMemcpyDeviceToHost); // Free memory free(h_a); free(h_b); free(h_c); cudaFree(d_a); cudaFree(d_b); cudaFree(d_c); return 0; } ``` 上述程序实现了一个向量加法操作,其中包括了从主机内存向设备内存的数据拷贝、GPU执行向量加法操作以及从设备内存向主机内存的数据拷贝。可以通过记录这些操作的时间来计算GPU的读写性能。 具体来说,可以使用CUDA提供的事件记录API来计算这些操作的时间。以下是一个示例: ```c cudaEvent_t start, stop; cudaEventCreate(&start); cudaEventCreate(&stop); // Record start event cudaEventRecord(start, 0); // Launch kernel // Record stop event cudaEventRecord(stop, 0); // Wait for stop event to complete cudaEventSynchronize(stop); float elapsedTime; cudaEventElapsedTime(&elapsedTime, start, stop); printf("Elapsed time: %f ms", elapsedTime); ``` 上述代码片段中,首先创建了两个事件记录对象,然后在需要计时的位置分别记录了开始和结束事件。最后,使用cudaEventElapsedTime函数计算两个事件之间的时间差,即为GPU执行相应操作的时间。 通过对不同操作的时间进行计时,可以得到GPU的读写性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值