12.5周记

12.5周记
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


大数相乘

#include<stdio.h>
#include<string.h>
#define max 1500
int main() {
    char c1[max], c2[max];
    scanf("%s%s", c1, c2);
    int n = strlen(c1), m = strlen(c2);
    int a[n], b[m];
    int i, j;
    //将得到的字符串转化为数字 
    for (i = 0, j = n - 1; i < n; i++, j--) 
	{
        a[i] = c1[j] - '0';
    }
    for (i = 0, j = m - 1; i < m; i++, j--) 
	{
        b[i] = c2[j] - '0';
    }
    
    int c[max + max];
    for (i = 0; i < max + max; i++) 
	{
        c[i] = 0;
    }
    //将相乘的结果存放在c中 
    for (i = 0; i < n; i++) 
	{
        for (j = 0; j < m; j++) 
		{
            c[i + j] += a[i] * b[j];
        }
    }   
    //进行进位操作 
    for (i = 0; i < n + m; i++) 
	{
        if (c[i] >= 10)
		{
            c[i + 1] += c[i] / 10;
            c[i] %= 10;
        }
    }
    //将多余位数的0跳过 ,开始输出。 
    for (j = max + max - 1; j > 0; j--) 
	{
        if (c[j] != 0)
		{
        	break;
		}    
    }
    for (i = j; i >= 0; i--) 
	{
    	printf("%d", c[i]);
    }
    return 0;
}

快排

#include<stdio.h>

int n;
int a[10000];
void quicksort(int a[], int l,int r)
{
	int i=l,j=r;
	int x,t;
	if(l>=r) 
	return;
	x=(l+r)/2;
	 
	while(i<j)
	{
		while(a[i]<a[x])
		i++;
		while(a[j]>a[x])
		j--;
		if(i<j)
		{
			t = a[i];
			a[i] = a[j];
			a[j] = t;
		}	
		 
	}	
	quicksort(a,l,j);
	quicksort(a,j+1,r);
}


int main()
{
	int i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	quicksort(a,0,n-1);
	for(i=0;i<n;i++)
	{
		printf("%d",a[i]);
	}
	return 0;
}

归并排序

代码如下(示例):

#include<stdio.h>
void mergesort(int a[],int start,int end);
void merge(int a[],int start,int mid,int end);
int main()
{
	int i,n;
	int a[100];
	scanf("%d",&n);
	for(i = 0; i < n; i++)
	{
		scanf("%d",&a[i]);
	}
	mergesort(a,0,n-1);
	for(i = 0; i < n; i++)
	{
		printf("%3d",a[i]);
	}
	return 0;
}

void merge(int a[],int start,int mid,int end)
{
	int r[100];
	int k = 0;
	int i = start;
	int j = mid + 1;
	while(i <= mid && j<=end)
	{
		if(a[i] < a[j])
		{
			r[k++] = a[i++];
		}
		else
		{
			r[k++] = a[j++];
		}
	}
	if(i == mid + 1)
	{
		while(j <= end)
		{
			r[k++] = a[j++];
		}
	}
	if(j == end + 1)
	{
		while(i <= mid)
		{
			r[k++] = a[i++];
		}
	}
	for(j = 0,i = start; j < k; i++,j++)
	{
		a[i] = r[j];
	}
}

void mergesort(int a[],int start,int end)
{
	int mid;
	if(start >= end)
	return;
	mid = (start + end)/2;
	mergesort(a,start,mid);
	mergesort(a,mid + 1,end);
	merge(a,start,mid,end);
}

文件基本操作

我觉得王博学长的博客写得特别详细,大家可以看看他的。
这是博客链接

总结

这周学习了归并排序和快速排序,学习了文件,然后也有许多问题,会在下周中逐一解决。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: `time.gmtime()` 是 Python 中 time 模块里的一个函数,它返回当前时间的 Greenwich 标准时间(UTC 时间)。返回结果是一个 time.struct_time 类型的元组,包含了 9 个元素,分别表示当前时间的年、月、日、小时、分钟、秒、周几、一年中的第几天、夏令时是否生效。如果你需要将返回的元组格式化成字符串,可以使用 time.strftime() 函数。 ### 回答2: time.gmtime是Python中的一个时间模块函数,它用于将给定的时间戳(以秒为单位)转换为格林尼治标准时间(GMT)的时间元组。 时间元组是一个包含了年、月、日、小时、分钟、秒、星期几、一年中第几天、夏令时的标志等信息的元组。 time.gmtime函数的返回值是一个时间元组,它包含了转换后的时间信息。时间元组的格式如下: time.struct_time(tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst) - tm_year:年份,例如2021。 - tm_mon:月份,范围是1-12。 - tm_mday:一个月的第几天,范围是1-31。 - tm_hour:小时,范围是0-23。 - tm_min:分钟,范围是0-59。 - tm_sec:秒钟,范围是0-59。 - tm_wday:星期几,范围是0-6,0表示星期一。 - tm_yday:一年中的第几天,范围是1-366。 - tm_isdst:夏令时的标志,范围是-1、0、1,-1表示夏令时信息不可用,0表示不是夏令时,1表示是夏令时。 通过调用time.gmtime函数并传入一个时间戳作为参数,即可获得转换后的时间元组。由于返回的时间元组是基于格林尼治标准时间的,可以通过获取元组中的各个元素来获得所需的时间信息。 例如,可以通过time.gmtime(time.time())来获取当前的GMT时间。同时,可以通过访问时间元组中的元素,如tm_year、tm_mon等来获取对应的年、月等信息。 time.gmtime在许多时间相关的应用中很有用,比如处理日志、生成文件名、记录事件等。 ### 回答3: time.gmtime()是Python中的一个函数,用于将给定的时间戳转换为UTC(协调世界时)时间格式的时间。它返回一个包含年、月、日、时、分、秒等时间信息的struct_time对象。 函数的语法为: time.gmtime([秒数]) 其中,秒数为可选参数,表示从1970年1月1日00:00:00开始经过的时间(以秒为单位)。如果没有提供秒数,函数将默认使用当前系统时间。 返回的struct_time对象包含9个元素,分别为:年、月、日、时、分、秒、一周的第几天(0-6,0表示周一),一年的第几天以及夏令时标志。 使用time.gmtime()函数可以将时间戳转换为UTC时间,这对于需要进行全球协调的时间操作非常有用。与其他时间处理函数相比,time.gmtime()返回的时间是以UTC为基准的,不受系统时区设置的影响。 以下是一个例子,演示了如何使用time.gmtime()函数: ```python import time timestamp = 1616143219 utc_time = time.gmtime(timestamp) print("UTC时间为:", utc_time) # 输出结果: # UTC时间为: time.struct_time(tm_year=2021, tm_mon=3, tm_mday=19, tm_hour=5, tm_min=6, tm_sec=59, tm_wday=4, tm_yday=78, tm_isdst=0) ``` 以上代码中,通过将时间戳1616143219传递给time.gmtime()函数,我们得到了对应的UTC时间。可以看到,返回的struct_time对象中包含了年、月、日、时、分、秒等时间信息。 总之,time.gmtime()函数是一个用于将时间戳转换为UTC时间格式的高效工具函数,能够方便地进行全球范围内的时间处理。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值