作业 - 20230624

一 .

grep : 查找字符串,
-w : 按单词查找
-R: 实现递归查找,主要用于路径是目录的情况
-i: 不区分大小写
-n:显示行号
find: 查找文件
find 查找的路径 -name 文件名: 在指定路径下,以文件名为条件查找文件
find -name 文件名 : 在当前路径下,查找文件
find -name *.c : find可以进行模糊查找
cut: 截取字符串
cut -d “分隔符” -f “域” 文件名
分隔符:要截取的内容以什么作为分隔
域:截分隔后的哪一块
f后面可以跟的格式
tar: 归档/打包和拆包
打包:就是把多个文件合并成一个文件
tar -cvf 打包后的文件名.tar 打包的文件
-v:显示指令执行的过程
-c:实现打包功能的
-f:file -f参数后面一定要跟文件名
apt-get: 在线安装软件
install: 安装软件
remove: 卸载软件
download: 下载软件,但不安装
source: 下载软件源码
clean: 清空安装包|
dpkg: 离线安装软件
-i 软件包名 : 安装软件
-r 软件名: 卸载软件
-P 软件名: 完全卸载软件
-l 软件名: 查看软件的安装列表
-L 软件名: 查看软件的安装路径
ln: 创建硬链接文件
ln 被链接文件的路径 创建的硬链接文件的路径
ln创建硬链接文件
1、硬链接文件和源文件有相同的inode号(ls -i)
#inode号,表示文件存储的扇区,有相同的inode号意味着占用同一片空间,硬链接文件是源文件的别名/保存了一个副本
2、硬链接文件的修改会影响到源文件,源文件的修改也会影响硬链接文件
3、ls显示的文件的描述信息中链接文件的个数,指的是硬链接文件的个数
4、只有硬链接文件个数为0时,文件才被删除
ln -s: 创建软链接文件
ln -s 被链接文件的绝对路径 软链接文件的绝对路径
ln -s /home/ubuntu/23041C/day2/1.c /home/ubuntu/23041C/100.c
给/home/ubuntu/23041C/day2/1.c创建了一个路径为/home/ubuntu/23041C/100.c文件

	1、创建软链接文件时,使用绝对路径
	2、软链接文件可以理解为快捷方式
	3、软链接文件的文件类型是l,他不会增加文件描述中的链接文件个数
	4、软链接文件,如果源文件被删除,链接会断开,软链接文件会失效,如果重新创建一个同名的源文件,软链接文件会重新链接,并且链接到新创建的文件
	5、软链接文件的修改会影响到源文件,源文件的修改也会影响软链接文件
	6、wins下不支持软链接文件,Linux下的压缩包不要放到主机下解压

二.

在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <sys/wait.h>
#include <pthread.h>
#include <signal.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <sys/time.h>

#define ERROR_MSG(msg) do{\
	fprintf(stderr, "line:%d: %s %s", __LINE__, __FILE__, __func__);\
	perror(msg);\
}while(0)

#define SUCCESS_MSG(msg) do {\
	printf("%s, line:%d \n", msg, __LINE__);\
}while(0)

int main(int argc, const char *argv[]) {
	
	unsigned int row, col;
	printf("请输入行和列:");
	scanf("%u %u", &row, &col);
	unsigned int arr[row][col];
	for (int i=0; i<row; i++) {
		for (int j=0; j<col; j++) {
			printf("第%d行,第%d列:", i, j);
			scanf("%u", &(arr[i][j]));
		}
	}

	
	unsigned int min = -1, secondMin = -1;
	unsigned int allCount = 1;
	unsigned long max = 0;
	for (int i=0; i<row; i++) {
		for (int j=0; j<col; j++) {
			printf(" -------------------------- \n");
			printf("[%d][%d]=%u ", i, j, arr[i][j]);

			min = -1;
			secondMin = -1;
			allCount = 1;

			for (int x=0; x<row; x++) {
				for (int y=0; y<col; y++) {
					if (x == i || y == j) {
						allCount *= arr[x][y];
						unsigned int value = arr[x][y];
						if (x == row && y<=1) {
							continue;
						}
						if (min == -1) {
							min = value;
							continue;
						}
						if (secondMin == -1) {
							if (value < min) {
								secondMin = min;
								min = value;
							} else {
								secondMin = value;
							}
							continue;
						}
						if (value < min) {
							secondMin = min;
							min = value;
						}else if (value < secondMin) {
							secondMin = value;
						}
					}
				}
			}
			printf(" all=%d, min=%d, sec=%d   ", allCount, min, secondMin);
			unsigned long result = allCount/min/secondMin;
			printf("result = %ld \n", result);
			if (result > max) {
				max = result;
			}
		}
		printf("\n");
	}

	printf("输出结果:%ld\n", max);
	
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值