002

1.求两个数的最大公约数

最大公倍数=a*b/最大公约数
#include<stdio.h>
#include<stdlib.h>

int main()
{
	int a = 24;
	int b = 36;
	int ret = 0;
	while (ret = a%b)
	{
		a = b;
		b = ret;
	}
	printf("%d\n", b);
	system("pause");
	return 0;
}

2.将数组A中的内容和数组B中的内容进行交换。(数组一样大)

#include<stdio.h>
#include<stdlib.h>

int main()
{
	int arr1[] = { 1, 2, 3 };
	int arr2[] = { 4, 5, 6 };
	int i = 0;
	int sz = sizeof(arr1) / sizeof(arr1[0]);
	int tmp = 0;
	for (i = 0; i < sz; i++)
	{
		tmp = arr1[i];
		arr1[i] = arr2[i];
		arr2[i] = tmp;
	}
	for (i = 0; i < sz; i++)
	{
		printf("%d ", arr1[i]);
	}
	printf("\n");
	for (i = 0; i < sz; i++)
	{
		printf("%d ", arr2[i]);
	}
	printf("\n");
	system("pause");
	return 0;
}

3. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。

#include<stdio.h>
#include<stdlib.h>

int main()
{
	int i = 0;
	double sum = 0;
	int flag = 1;
	for (i = 1; i <= 100; i++)
	{
		sum = sum + flag*(1.0 / i);
		flag = -flag;
	}
	printf("%f\n", sum);
	system("pause");
	return 0;
}

4. 编写程序数一下 1到 100 的所有整数中出现多少次数字9

#include<stdio.h>
#include<stdlib.h>

int main()
{
	int i = 0;
	int count = 0;
	for (i = 0; i <= 100; i++)
	{
		if (i % 10 == 9)
			count++;
		if (i / 10 == 9)
			count++;
	}
	printf("%d\n", count);
	system("pause");
	return 0;
}

5打印出菱形

#include<stdio.h>
#include<stdlib.h>

int main()
{
	int line = 0;
	scanf("%d", &line);
	int i = 0;
	int j = 0;
	//上半部分
	for (i = 0; i < line; i++)
	{
		//1输出空格
		for (j = 0; j < (line - i - 1); j++)
			printf(" ");
		//2.输出'*'
		for (j = 0; j < (2 * i + 1); j++)
			printf("*");
		//换行
		printf("\n");
	}
	//下部分
	for (i = 0; i < (line-1); i++)
	{
		for (j = 0; j < (i+1); j++)
			printf(" ");
		for (j = 0; j < (2 * (line-1-i) - 1); j++)
			printf("*");
		printf("\n");
	}
	system("pause");
	return 0;
}

### umask 002 的含义 在 Linux 系统中,`umask` 是一个用于设置文件和目录创建时默认权限掩码的值。`umask 002` 是一个四位数的权限掩码,通常最左边的数字代表特殊权限(如 `SUID`、`SGID`、`Sticky Bit`),这里为 0 表示不设置特殊权限。后面的三个数字分别对应文件所有者、所属组和其他用户的权限掩码。具体来说,`002` 中的第二个 0 表示文件所有者没有权限被屏蔽;第三个 0 表示所属组没有权限被屏蔽;最后一个 2 对应的二进制是 `010`,表示其他用户的写权限被屏蔽。 ### umask 002 的作用 `umask` 的作用是控制用户新建文件夹及新建文件的默认属性[^1]。当用户创建文件或目录时,系统会根据 `umask` 值从默认的最大权限中减去相应的权限。对于文件,默认最大权限是 666(即 `-rw-rw-rw-`);对于目录,默认最大权限是 777(即 `drwxrwxrwx`)。使用 `umask 002` 时: - **新建文件**:从 666 中减去 002,得到 664,即文件的默认权限是 `-rw-rw-r--`,意味着文件所有者和所属组有读写权限,其他用户只有读权限。 - **新建目录**:从 777 中减去 002,得到 775,即目录的默认权限是 `drwxrwxr-x`,意味着目录所有者和所属组有读写执行权限,其他用户有读和执行权限。 ### umask 002 的使用场景 - **团队协作环境**:在一个团队项目中,团队成员属于同一个组。使用 `umask 002` 可以确保团队成员之间共享的文件和目录对组内成员有相同的读写权限,方便协作开发。同时,为了保证一定的安全性,其他用户只有读权限,不能随意修改文件内容。 - **服务器环境**:对于一些需要对外提供服务的文件或目录,使用 `umask 002` 可以让其他用户能够读取文件内容,但不能修改,保证了数据的安全性和稳定性。例如,Web 服务器上的静态文件,其他用户可以读取并访问,但不能修改。 以下是设置 `umask 002` 并创建文件和目录的示例: ```bash # 设置 umask 为 002 umask 002 # 创建一个文件 touch test_file # 创建一个目录 mkdir test_directory # 查看文件和目录的权限 ls -l test_file test_directory ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值