实验4作业

news/2025/11/11 1:38:35/文章来源:https://www.cnblogs.com/ningtang/p/19207817

任务1

#include<stdio.h>
#define N 4
#define M 2void test1()
{int x[N]={1,9,8,4};int i;printf("sizeof(x)=%d\n",sizeof(x));for(i=0;i<N;++i)printf("%p:%d\n",&x[i],x[i]);printf("x=%p\n",x);}void test2()
{int x[M][N]={{1,9,8,4},{2,0,4,9}};int i,j;printf("sizeof(x)=%d\n",sizeof(x));for(i=0;i<M;++i)for(j=0;j<N;++j)printf("%p:%d\n",&x[i][j],x[i][j]);printf("\n");printf("x=%p\n",x);printf("x[0]=%p\n",x[0]);printf("x[1]=%p\n",x[1]);printf("\n");}int main()
{printf("测试1:int型一维数组\n");test1();printf("测试2:int型二维数组\n");test2();return 0;
}

  

image

 问题1

是,相同

问题2

是,相同,相差16,含义为数组x的第一行有4个数组元素,共占用16个字节

任务2

#include<stdio.h>
#define N 100
void input (int x[],int n);
double compute(int x[],int n);int main()
{int x[N];int n,i;double ans;while(printf("Enter n: "),scanf("%d",&n)!=EOF){input(x,n);ans=compute(x,n);printf("ans=%.2f\n\n",ans);}return 0;
}void input(int x[],int n)
{int i;for(i=0;i<n;++i)scanf("%d",&x[i]);}double compute(int x[],int n)
{int i,high,low;double ans;high=low=x[0];ans=0;for(i=0;i<n;++i){ans+=x[i];if(x[i]>high)high=x[i];else if(x[i]<low)low=x[i];}ans=(ans-high-low)/(n-2);return ans;}

image

 问题1

分别为 int x[ ] 和 x

问题2

input功能为将输入的数据存入数组中,compute的功能是计算除去最大值和最小值后的数据的平均值

任务3

#include<stdio.h>
#define N 100
void output (int x[][N],int n);
void init(int x[][N],int n,int value);int main()
{int x[N][N];int n,value;while(printf("Enter n and value:"),scanf("%d%d",&n,&value)!=EOF){init(x,n,value);output(x,n);printf("\n");}return 0;
}void output(int x[][N],int n)
{int i,j;for(i=0;i<n;++i){for(j=0;j<n;++j)printf("%d",x[i][j]);printf("\n");}
}void init(int x[][N],int n,int value)
{int i,j;for(i=0;i<n;++i)for(j=0;j<n;++j)x[i][j]=value;}

  

image

改为x[ ][ ]后:image

 

 问题1

书写形式分别为int x[ ][N] 和 x

问题2

不能省略,会(如图)

问题3

output的功能是将生成的数组以矩阵的形式输出,init的功能是将输入的第二个数字存入行数和列数都是第一个数字的数组中

任务4

#include<stdio.h>
#define N 100
void input(int x[],int n);
double median(int x[],int n);int main()
{int x[N];int n;double ans;while(printf("Enter n:"),scanf("%d",&n)!=EOF){input(x,n);ans=median(x,n);printf("ans=%g\n\n",ans);}return 0;
}void input(int x[],int n)
{int i,j;for(i=0;i<n;++i)scanf("%d",&x[i]);for(j=0;j<n-1;++j){for(i=0;i<n-1-j;++i){int t;if(x[i]<x[i+1]){t=x[i];x[i]=x[i+1];x[i+1]=t;}}}}double median(int x[],int n)
{double med;if(n%2==0)med=(double)(x[n/2]+x[(n-2)/2])/2;elsemed=x[(n-1)/2];return med;
}

  

image

 任务5

#include<stdio.h>
#define N 100void input(int x[][N],int n);
void output(int x[][N],int n);
void rotate_to_right(int x[][N],int n);int main()
{int x[N][N];int n;printf("Enter n:");scanf("%d",&n);input(x,n);printf("原始矩阵:\n");output(x,n);rotate_to_right(x,n);printf("变换后矩阵:\n");output(x,n);return 0;}void input(int x[][N],int n)
{int i,j;for(i=0;i<n;++i){for(j=0;j<n;++j)scanf("%d",&x[i][j]);}}void output(int x[][N],int n)
{int i,j;for(i=0;i<n;++i){for(j=0;j<n;++j)printf("%d ",x[i][j]);printf("\n");}}void rotate_to_right(int x[][N],int n)
{int i,j;for(i=0;i<n;++i){int t;t=x[i][n-1];for(j=n-2;j>=0;--j)x[i][j+1]=x[i][j];x[i][0]=t;}
}

 

image

 任务6 

#include<stdio.h>
#define N 100void dec_to_n(int x,int n);int main()
{int x;while(printf("输入十进制整数:"),scanf("%d",&x)!=EOF){dec_to_n(x,2);dec_to_n(x,8);dec_to_n(x,16);printf("\n");}return 0;
}void dec_to_n(int x,int n)
{int a[N];int i=0,j,m=0;while(x!=0){a[i]=x%n;i++;m++;x=x/n;}for(j=m-1;j>=0;--j){switch(a[j]){case 10:printf("A");break;case 11:printf("B");break;case 12:printf("C");break;case 13:printf("D");break;case 14:printf("E");break;case 15:printf("F");break;default:printf("%d",a[j]);break;}}printf("\n");}

 

image

 任务7

#include<stdio.h>
#define N 100void input(int x[][N],int n);
void output(int x[][N],int n);
int is_magic(int x[][N],int n);int main()
{int x[N][N];int n;while(printf("输入n:"),scanf("%d",&n)!=EOF){printf("输入方阵:\n");input(x,n);printf("输出方阵:\n");output(x,n);if(is_magic(x,n))printf("是魔方矩阵\n\n");elseprintf("不是魔方矩阵\n\n");}return 0;	
}void input(int x[][N],int n)
{int i,j;for(i=0;i<n;++i){for(j=0;j<n;++j)scanf("%d",&x[i][j]);}}void output(int x[][N],int n)
{int i,j;for(i=0;i<n;++i){for(j=0;j<n;++j)printf("%d ",x[i][j]);printf("\n");}}int is_magic(int x[][N],int n)
{int i,j,m,ans1,ans2,ans3,ans4;int a[2*n+2];ans1=ans2=ans3=ans4=0;for(i=0;i<n;++i){int m=0;for(j=0;j<n;++j){ans1+=x[i][j];ans2+=x[j][i];}ans3+=x[i][i];ans4+=x[i][n-1-i];a[m++]=ans1;a[m++]=ans2;}a[m++]=ans3;a[m]=ans4;for(i=0;i<m-1;++i){if(a[i]-a[i+1]!=0)return 0;}int k=1,t=0,p;while(k<=n){for(i=0;i<n;++i){for(j=0;j<n;++j){p=t;if(k*k==x[i][j]){t++;break;}}if(p+1==t)break;}k++;}if(t==n)return 1;else return 0;}

 运行结果不对

image

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/961889.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做题记录 #5

A. CF2135E1 Beyond the Palindrome (Easy Version) (7.5) 2025.11.10 容斥好题。首先发现这个消除 10 子串类似一个括号序列,最后只会剩下 前缀一堆 \(0\) 和 后缀一堆 \(1\)。经典 trick 转 \(\pm 1\) 前缀和折线,…

降AI总踩坑?关键看这3点选对工具

1. 降AI的核心需求:别只盯着“过检测”,这两点更重要 很多同学降AI只关注“能不能过系统”,但忽略了两个更关键的问题:改完的内容还是自己的吗?语句通顺吗?毕竟论文不仅要过检测,还要应对答辩——如果改得逻辑混…

逆向 | 逃离鸭科夫 unity mono游戏hook

逆向 | 逃离鸭科夫 unity mono游戏hook 依旧是处理上一个博客的问题,这次直接用扫内存提jit的方式来找到目标函数,然后进行hook。 之后做详细视频发b站,这里就贴个代码。 好久不手搓硬编码和inlinehook犯了好多错,…

AI降重避坑指南:如何有效降低论文AI检测率?

AI降重避坑指南:如何有效降低论文AI检测率? 一、AI检测原理简析:为何普通改写难以奏效? 随着AI写作工具的普及,学术论文的AI检测也日益严格。目前主流的AI检测系统,如知网、维普、万方等平台的相关机制,不仅仅是…

降AI攻略:博主实测经验分享

降AI攻略:博主实测经验分享 一、为什么AI生成的文本容易被检测? 现在AI写作工具越来越普及,但随之而来的是AI检测技术的升级。很多同学和我抱怨,自己用AI写的内容很容易被系统识别出来,尤其是学术论文,一旦被判定…

论文降AI,如何高效又保真? - BUAA

一、为何论文降AI成为科研刚需? 随着AI写作工具的普及,学术论文中的AI生成痕迹检测日益严格。学校和期刊不仅要求查重率达标,更对AI生成内容零容忍。一旦被判定为AI辅助过度,轻则要求重写,重则影响答辩甚至学术信…

20251110 之所思 - 人生如梦

20251110 之所思今天来了很多国外的同事,有印度的,德国的,韩国的,一起开workshop讨论一些事情,但是感觉到自己面对不太熟的同事发言时有点紧张,到网上查了一下,可能有轻微的社交恐惧:恐惧的表面原因:总是担心…

import { random, guid } from uview-plus;报错找不到uview-plus

官方文档很多这种import { random, guid } from uview-plus; 这会报错,说找不到uview-plus,因为我使用的Hbuilder的导入方式,我猜要使用npm的方式才能用from "uview-plus",而Hbuilder方式采用 @/uni_modul…

*题解:P3960 [NOIP 2017 提高组] 列队

原题链接 解析 考虑 \(x = 1\) 怎么做,可以发现此时只有第 \(1\) 列和第 \(m\) 行会发生变动,将其拼起来可以视作一个数列,操作就是单点删除和结尾插入。怎么维护呢?不一定要平衡树,有一种用树状数组的做法:维护…

PyTorch - whats the difference between models training mode and evaluation mode?

PyTorch - whats the difference between models training mode and evaluation mode?In PyTorch, a model can operate in two main modes:Training mode — activated by calling model.train()Evaluation mode — …

【CI130x 离在线】C++ 11智能指针 std::unique_ptr

std::unique_ptr 是 C++11 引入的特性! C++ 智能指针的发展历程版本 年份 智能指针特性C++98 1998 std::auto_ptr(有缺陷,已废弃)C++11 2011 ✅ std::unique_ptr✅ std::shared_ptr✅ std::weak_ptrC++14 2014 std…

Doxygen 入门

Doxygen 可以通过解析代码中的特殊注释来生成详细的文档。以下是完整的操作流程: 1. 安装 Doxygen Windowsbash# 使用 Chocolatey choco install doxygen# 或从官网下载安装包 # https://www.doxygen.nl/download.htm…

第21天(简单题中等题 二分查找、排序)

打卡第二十一天 3道简单题+1道中等题题目:两个数组的交集 给定两个数组nums1和nums2,返回它们的交集.输出结果中的每个元素一定是唯一的。可以不考虑输出结果的顺序。 思路: 排序+双指针代码: class Solution { publi…

CSAPP学习笔记(施工中)

CSAPP 信息的处理和表示 数字的存储 内存被划分为不同大小的字块,32位CPU->4字节,64位CPU->8字节 对字长\(w\)的机器而言,虚拟地址范围为\(0~2^w-1\),即有\(2^w\)个字节 64位架构地址空间限制为48位虚拟地址…

当Mb连不上虚拟机的时候,这是因为啥?我应该怎么解决?? - fish666

就是当Mb连不上虚拟机的时候,这是因为啥?我应该怎么解决?? 首先,就是物理机ping一下虚拟机,看看能不能ping通,,虚拟机ping一下物理机(192.168.236.1)他是1,看看能不能ping通。 如果不能ping通的话,表明物理机…

计算不确定度

假如有数据,13.99 15.07 13.98 14.12 14.69 15.31 14.82 15.01 14.71,要计算其不确定度u A=[13.99 15.07 13.98 14.12 14.69 15.31 14.82 15.01 14.71]; col=size(A,2); s=zeros(1,col); B=A-mean(A); C=B.*B; u=sqr…

会议开了一整天,记录却只有三行?

你知道67%的会议没有有效纪要吗?本文分享一个专业的会议纪要AI指令,能将混乱的会议内容快速转化为结构化、可追踪的专业文档。完整引用原始指令,支持DeepSeek、通义千问等国产AI工具,30分钟生成专业纪要,让每次会…

Day17盒子模型中设置外边距时的问题

外边距问题1之合并现象<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initia…

基于Github Action 配置Java Python Go. Rust Nodejs C++ 实现自动发布功能

需求:基于Github Action 配置Java Python Go. Rust Nodejs C++ 实现自动发布功能。 Java Python Go Rust C++ NodeJshttp://www.cnblogs.com/Jame-mei

File文件

1.读取文件内容读取方法 底层操作(核心) 上层处理(对字节的后续操作) 适用场景read 读取字节到 &mut [u8] 数组 直接使用字节(不做任何转换) 二进制文件分块读、大文件read_to_end 读取所有字节到Vec<u8&…