第一题

个人总结:直接设置两个int行记录当前输出1的位置,再对比行下标和列下标分别输出4,2/3,5即可
代码如下:
#include <stdio.h>
void triangle(int n){
int sum=2*n;
int t1,t2;
t1=0,t2=sum;
for(int i=0;i<=sum;i++){
int a,b;
if(t1<t2){
a=t1;
b=t2;
}
else{
b=t1;
a=t2;
}
for(int j=0;j<=sum;j++){
if(j==a) printf("1 ");
else if(j==b){
if(j!=sum) printf("1 ");
else printf("1");
}
else{
if(j<a)printf("4 ");
else if(j>a&&j<b){
if(i<j) printf("2 ");
else printf("3 ");
}
else if(j>b) {
if(j!=sum) printf("5 ");
else printf("5");
}
}
}
t1++;
t2--;
printf("\n");
}
}
int main(){
int n;
while(scanf("%d",&n)==1){
triangle(n);
}
return 0;
}
第二题

个人总结:数组arr[13][4]记录发牌数字,l为char型数组记录花色,最后输出直接用arr记录的数据/i,输出发牌花色,arr数据%13输出数字即可。
代码如下:
#include <stdio.h>
int arr[13][4];
char *l[4]={"c","d","h","s"};
void fapai(int n){
int sum=0;
for(int j=0;j<13;j++){
for(int k=0;k<4;k++){
arr[j][k]=sum;
sum++;
}
}
for(int i=0;i<13;i++){
int t=arr[i][n-1]/13;
if(i==12)printf("%s %d",l[t],arr[i][n-1]%13);
else printf("%s %d ",l[t],arr[i][n-1]%13);
}
}
int main(){
int n;
while(scanf("%d",&n)==1){
fapai(n);
printf("\n");
}
return 0;
}
第三题

个人总结·:二维数组记录当前输入的数据,然后最底部往上相加,对比下一行和下一行右一列的数据相加,选取最大值更新,最后arr[0][0]则得到当前路线的最大值,返回输出即可。
代码如下:
#include <stdio.h>
int arr[1000][1000];
int max(int *t,int n){
for(int i=n-2;i>=0;i--){
for(int j=0;j<=i;j++){
int a=arr[i+1][j]+arr[i][j];
int b=arr[i][j]+arr[i+1][j+1];
if(a<b) arr[i][j]=b;
else arr[i][j]=a;
}
}
return arr[0][0];
}
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
int k;
scanf("%d",&arr[i][j]);
}
}
printf("%d\n",max(*arr,n));
return 0;
}
翻译
当总主存所需空间大于实际上可用空间时内存管理器任务会更为复杂。这案例中的内存管理器在主存和大额容量(一种称为分页的技术)之间来回调度程序和数据,可能会创造额外内存空间的假象。例如,假设需要8GB的主存但计算机只有4GB时,为了创造更大空间的主存空间的错觉,内存管理器会在磁盘上预定4GB的存储空间。如果主存实际上有8GB容量,这样就会记录存储在主存的位模式。这样数据会被分开存放在一致大小的单元内,称为页面,这一般为几千字节。这样内存管理器会在主存和大容量之间来回混洗这些页面,可以在任何时间给定时间让那些被需要用的页面都实际存在于4GB的主存中。这种分页的大型虚构内存空间被称为虚拟内存。
4.调度与分派程序
现代操作系统最基本的概念之一,是区分程序和执行程序时的活动。前者是一组静态指令,然而后者是一种动态变化的活动,其属性会随着时间前进而变化。在操作系统控制下的执行程序的活动被称为进程。典型的分时/多任务计算机运行多个进程,所有的计算都是为了计算机资源。与协调运行进程执行相关任务都由操作系统内核内部的调度程序和分派程序控制。
调度程序保管在计算机系统中进程存在的记录,向进程池引进新进程,从进程池移除已完成的进程。因此当用户需要执行一个应用程序时,这项调度程序会添加应用程序的执行进程进入当前进程池。
单词打卡
