尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

实验4作业

实验4作业
📅 发布时间:2026/6/18 19:21:44

任务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

 

相关新闻

  • 做题记录 #5
  • 降AI总踩坑?关键看这3点选对工具
  • AI降重避坑指南:如何有效降低论文AI检测率?

最新新闻

  • AI中转站成本真相:36倍价差背后的渠道经济学
  • 通达信缠论插件:让复杂的技术分析变得简单直观
  • 如何在5分钟内免费搭建你的AI桌面助手:开源协作工具的终极指南
  • Mermaid Live Editor:5分钟掌握免费在线图表绘制的终极指南
  • MSC8144AMC-S多DSP板卡硬件设计:以太网、TDM与RapidIO接口深度解析
  • 超大质量双黑洞系统:数值模拟与观测特征

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号