二维数组及函数的非函数实现

2024年2月14日
1.请编程实现二维数组的杨慧三角

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void Yanghui(int n,int (*p)[n])
{for(int i=0;i<n;i++){for(int j=0;j<=i;j++){if(j==0||i==j){*(*(p+i)+j)=1;}else{*(*(p+i)+j)=*(*(p+i-1)+j-1)+*(*(p+i-1)+j);}}}
}
int main(int argc, const char *argv[])
{int n;printf("pleasee enter n:");scanf("%d",&n);int arr[n][n];Yanghui(n,arr);for(int i=0;i<n;i++){for(int j=0;j<=i;j++){printf("%d ",arr[i][j]);}printf("\n");}return 0;
}


2.请编程实现二维数组计算每一行的和以及列和

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{int arr[2][3];//循环输入二维数组for(int i=0;i<2;i++){for(int j=0;j<3;j++){printf("please enter arr[%d][%d]:",i,j);scanf("%d",&arr[i][j]);}}//计算每一行的和for(int i=0;i<2;i++){int sum1=0;for(int j=0;j<3;j++){sum1+=arr[i][j];}printf("第%d行 sum1=%d\n",i+1,sum1);}//计算每一列的和for(int j=0;j<3;j++){int sum2=0;for(int i=0;i<2;i++){sum2+=arr[i][j];}printf("第%d列 sum2=%d\n",j+1,sum2);}return 0;
}


3.请编程实现二维数组计算第二大值

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{int arr[2][3];//循环输入数组for(int i=0;i<2;i++){for(int j=0;j<3;j++){printf("please enter arr[%d][%d]:",i,j);scanf("%d",&arr[i][j]);}}int max=arr[0][0],second_max=arr[0][0];for(int i=0;i<2;i++){for(int j=0;j<3;j++){if(max<arr[i][j]){max=arr[i][j];//找出最大值}if(second_max>arr[i][j]){second_max=arr[i][j];//用第二大值存储最小值}}}//再次遍历数组for(int i=0;i<2;i++){for(int j=0;j<3;j++){if(max==arr[i][j]){continue;//最大值则跳过}if(second_max<arr[i][j]){second_max=arr[i][j];//大于最小值则赋值给第二大值}}}printf("second_max=%d\n",second_max);return 0;
}


4.请使用非函数方法实现系统函数strcat,strcmp,strcpy,strlen

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void my_strcat(char *dest,char *src);
int my_strcmp(char *dest,char *src);
void my_strcpy(char *dest,char *src);
int my_strlen(char *dest);
int main(int argc, const char *argv[])
{char dest[20]="";char src[20]="";printf("please enter dest:");gets(dest);printf("please enter src:");gets(src);my_strcat(dest,src);puts(dest);int a=my_strcmp(dest,src);if(a>0){puts("dest>src");}else if(a<0){puts("dest<src");}else{puts("dest=src");}my_strcpy(dest,src);puts(dest);int len=my_strlen(dest);printf("strlen=%d\n",len);return 0;
}
void my_strcat(char *dest,char *src)
{int i,j;for(i=0;*(dest+i)!='\0';i++);for(j=0;*(src+j)!='\0';j++){*(dest+i+j)=*(src+j);}*(dest+i+j)='\0';
}
int my_strcmp(char *dest,char *src)
{int i=0;while(*(dest+i)==*(src+i)){if(*(dest+i)=='\0'){break;}i++;} int a=*(dest+i)-*(src+i);return a;
}
void my_strcpy(char *dest,char *src)
{int i;for(i=0;*(src+i)!='\0';i++){*(dest+i)=*(src+i);}*(dest+i)='\0';
}
int my_strlen(char *dest)
{int i;for(i=0;*(dest+i)!='\0';i++);return i;
}

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

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

相关文章

【网络攻防实验】【北京航空航天大学】【实验三、口令破解(Password Cracking)实验】

实验三、口令破解(Password Cracking)实验 一、 L0phtCrack破解实验 1、 注册L0phtCrack: 2、 设置口令: (1) 创建3个新账户: 帐户创建过程(以test-1为例): 帐户创建结果: (2) 使用L0phtCrack破解口令:(使用管理员账号运行程序) 口令破解结果: 正确破解口令…

GPT-4影响高度创新思维的领域(一)

GPT-4的应用范围不再局限于对现有信息的检索、整理和复述&#xff0c;而是进一步拓展到了诸如文学创作、科学假设生成、教育辅导、商业策略建议等需要高度创新思维的领域。这种独立思考和创新能力赋予了GPT-4作为虚拟助手时更加丰富多元的角色定位&#xff0c;使其成为一种强大…

类加载过程介绍

一、类的生命周期 类被加载到jvm虚拟机内存开始&#xff0c;到卸载出内存为止&#xff0c;他的生命周期可以分为&#xff1a;加载->验证->准备->解析->初始化->使用->卸载。 其中验证、准备、解析统一称为链接阶段 1、加载 将类的字节码载入方法区中&#xf…

【教3妹学编程-算法题】子集中元素的最大数量

2哥 : 3妹&#xff0c;今年过年收到压岁钱了没呢。 3妹&#xff1a;切&#xff0c;我都多大了啊&#xff0c;肯定没收了啊 2哥 : 俺也一样&#xff0c;不仅没收到&#xff0c;小侄子小外甥都得给&#xff0c;还倒贴好几千 3妹&#xff1a;哈哈哈哈&#xff0c;2叔叔&#xff0c…

嵌入式Qt Qt 中的坐标系统

一.Qt中的坐标系统 实验1&#xff1a;窗口坐标大小 #include <QtGui/QApplication> #include <QPushButton> #include <QDebug> #include "widget.h" int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();qDebug()&…

VC++ 绘制折线学习

win32 有三个绘制折线的函数&#xff1b; Polyline&#xff0c;根据给定点数组绘制折线&#xff1b; PolylineTo&#xff0c;除了绘制也更新当前位置&#xff1b; PolyPolyline&#xff0c;绘制多条折线&#xff0c;第一个参数是点数组&#xff0c;第二个参数是一个数组、指…

[GYCTF2020]Blacklist

感觉是[强网杯 2019]随便注 的加强版&#xff0c;之前做的是最后可以通过prepare和execute实现对select的绕过&#xff0c;但是这题把这两个关键字也过滤了。 前面堆叠注入没啥问题&#xff0c;卡在了最后读取flag 查看其他师傅的wp&#xff0c;发现这个handler的可以当作丐版s…

【java苍穹外卖项目实战三】nginx反向代理和负载均衡

文章目录 1、nginx反向代理2、nginx 反向代理的好处3、nginx 反向代理的配置方式5、nginx 负载均衡的配置方式6、nginx 负载均衡策略 我们思考一个问题&#xff1a; 前端发送的请求&#xff0c;是如何请求到后端服务的&#xff1f; 前端请求地址&#xff1a;http://localhost/…

数字图像处理实验记录十(图像分割实验)

一、基础知识 1、什么是图像分割 图像分割就是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程&#xff0c;特性可以是灰度、颜色、纹理等&#xff0c;目标可以对应单个区域&#xff0c;也可以对应多个区域。 2、图像分割是怎么实现的 图像分割算法基于像素值的不连…

Days 32 ElfBoard GDT工作原理

GDT&#xff08;Gas Discharge Tubes&#xff09;&#xff0c;即陶瓷气体放电管。GDT是内部由一个或一个以上放电间隙内充有惰性气体构成的密闭器件。GDT电气性能取决于气体种类、气体压力、内部电极结构、制作工艺等因素。GDT可以承受高达数十甚至数百千 安培的浪涌电流冲击&a…

基于T1w/T2w 比值揭示髓磷脂相关变化

前言&#xff1a; 最近在阅读文献的时候发现2篇文章&#xff0c;是采用T1w/T2w 比值表征髓磷脂&#xff0c;有点感兴趣&#xff0c;因此尝试了一下文献所提出的方法。&#xff08;https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9247578/ https://www.ncbi.nlm.nih.gov/pmc/ar…

批量梯度下降、随机梯度下降、小批量梯度下降

一、批量梯度下降&#xff08;Batch Gradient Descent,BGD&#xff09; 在批量梯度下降中&#xff0c;每次迭代都使用整个训练集的数据进行梯度计算和参数更新。也就是说&#xff0c;每次迭代都对所有的样本求取梯度&#xff0c;然后更新参数。由于要处理整个训练集&#xff0c…