2.14:二维数组、非函数实现strcat、strcmp、strcpy、strlen

1.编程实现二维数组的杨辉三角

程序代码:

  1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 int main(int argc, const char *argv[])5 {6     int n;7     printf("please enter n:");8     scanf("%d",&n);9     int arr[n][n];10     for(int i=0;i<n;i++)11     {12         for(int j=0;j<=i;j++)13         {14             if(j==0||j==i)15                 arr[i][j]=1;16             else17                 arr[i][j]=arr[i-1][j]+arr[i-1][j-1];18             printf("%-4d",arr[i][j]);19         }20         puts("");21     }22     return 0;23 } 

运行结果:

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

程序代码:

  1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 int main(int argc, const char *argv[])5 {6     int n,m;7     printf("please enter n:");8     scanf("%d",&n);9     printf("please enter m:");10     scanf("%d",&m);11     int arr[n][m];12     for(int i=0;i<n;i++)13     {14         for(int j=0;j<m;j++)15         {16             scanf("%d",&arr[i][j]);17         }18     }19     //行和20     for(int i=0;i<n;i++)21     {22         int row_sum=0;23         for(int j=0;j<m;j++)24             row_sum+=arr[i][j];25         printf("%d row_sum=%d\n",i+1,row_sum);26     }27     //列和28     for(int j=0;j<m;j++)29     {30         int line_sum=0;31         for(int i=0;i<n;i++)32             line_sum+=arr[i][j];33         printf("%d line_sum=%d\n",j+1,line_sum);34     }35     return 0;36 }   

运行结果:

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

程序代码:

  1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 int main(int argc, const char *argv[])5 {6     int arr[2][3];7     for(int i=0;i<2;i++)8     {9         for(int j=0;j<3;j++)10             scanf("%d",&arr[i][j]);11     }12     int max=arr[0][0];13     int second_max=arr[0][0];14     for(int i=0;i<2;i++)15     {16         for(int j=0;j<3;j++)17         {18             if(max<arr[i][j])19                 max=arr[i][j];20             if(second_max>arr[i][j])21                 second_max=arr[i][j];22         }23     }24     for(int i=0;i<2;i++)25     {26         for(int j=0;j<3;j++)27         {28             if(max==arr[i][j])29                 continue;30             if(second_max<arr[i][j])31                 second_max=arr[i][j];32         }33     }34     printf("second_max=%d\n",second_max);35     return 0;36 }  

运行结果:

 4.非函数实现系统函数strcat、strcmp、strcpy、strlen

程序代码:

  1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 void my_strcat(char *dest,char *src);5 void my_strcmp(char *dest,char *src);6 void my_strcpy(char *dest,char *src);7 int my_strlen(char *dest);8 int main(int argc, const char *argv[])9 {10     char dest[20]="";11     char src[20]="";12     printf("please enter dest:");13     gets(dest);14     printf("please enter src:");15     gets(src);16 17     my_strcat(dest,src);18     puts(dest);19 20     my_strcmp(dest,src);21 22     my_strcpy(dest,src);23     puts(dest);24 25     int len=my_strlen(dest);26     printf("strlen=%d\n",len);27     return 0;28 }29 void my_strcat(char *dest,char *src)30 {31     int i,j;32     for(i=0;*(dest+i)!='\0';i++);33     for(j=0;*(src+j)!='\0';j++)34         *(dest+i+j)=*(src+j);35     *(dest+i+j)='\0';36 }37 void my_strcmp(char *dest,char *src)38 {39     int i=0;40     while(dest[i]==src[i])41     {42         if(dest[i]=='\0')43             break;44         i++;45     }46     if(dest[i]-src[i]>0)47         puts("dest>src");48     else if(dest[i]-src[i]<0)49         puts("dest<src");50     else if(dest[i]-src[i]==0)51         puts("dest==src");52 }53 void my_strcpy(char *dest,char *src)54 {55     int i;56     for(i=0;*(src+i)!='\0';i++)57         *(dest+i)=*(src+i);58     *(dest+i)='\0';59 }60 int my_strlen(char *dest)61 {62     int i;63     for(i=0;*(dest+i)!='\0';i++);64     return i;65 } 

运行结果:

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

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

相关文章

MySQL学习记录——십일 索引

文章目录 1、理解索引2、聚簇、非聚簇索引3、操作1、主键索引2、唯一键索引3、普通索引4、注意事项 4、全文索引 1、理解索引 MySQL服务器是在内存中的&#xff0c;所有数据库的CURD操作都是在内存中进行&#xff0c;索引也是如此。索引是用来提高性能的&#xff0c;它通过组织…

「计算机网络」数据链路层

数据链路层的地位&#xff1a;网络中的主机、路由器等都必须实现数据链路层信道类型 点对点信道&#xff1a;使用一对一的点对点通信方式广播信道 使用一对多的广播通信方式必须使用专用的共享信道协议来协调这些主机的数据发送 使用点对点信道的数据链路层 数据链路和帧 链…

java-8组合式异步编程

11.1 Future 接口 Future接口在Java5中被引人&#xff0c;设计初衷是对将来某个时刻会发生的结果进行建模。它建模了一种异步计算&#xff0c;返回一个执行运算结果的引用&#xff0c;当运算结束后&#xff0c;这个引用被返回给调用方。在Future中触发那些潜在耗时的操作把调用…

Python 使用 raise 语句抛出异常

在 Python 编程中&#xff0c;异常处理是至关重要的一部分。异常能够帮助程序在面对错误和意外情况时进行适当的处理&#xff0c;从而使程序具有更好的稳定性和可靠性。而 raise 语句则是 Python 中用来手动触发异常的关键工具之一。本文将探讨 Python 中 raise 语句的使用方法…

MinIO 和 Apache Tika:文本提取模式

Tl;dr: 在这篇文章中&#xff0c;我们将使用 MinIO Bucket Notifications 和 Apache Tika 进行文档文本提取&#xff0c;这是大型语言模型训练和检索增强生成 LLM和RAG 等关键下游任务的核心。 前提 假设我想构建一个文本数据集&#xff0c;然后我可以用它来微调 LLM.为了做…

【Cocos入门】物理系统(物理碰撞)

物理碰撞 物理引擎默认是关闭状态以节省资源开销。开启方法和之前的普通碰撞类似&#xff1a;cc.director.getPhysicsManager().enabled true但有一个区别&#xff0c;物理引擎的开启必须放在onLoad函数内运行&#xff0c;否则不生效。 物理碰撞组件也同样具有碰撞回调函数。…

爬虫之牛刀小试(十):爬取某宝手机商品的销量,价格和店铺

首先淘宝需要登录&#xff0c;这一点如果用selenium如何解决&#xff0c;只能手动登录&#xff1f;如果不用selenium&#xff0c;用cookies登录也可。但是验证码又是一个问题&#xff0c;现在的验证码五花八门&#xff0c;难以处理。 我们回到正题&#xff0c;假设你已经登录上…

Codeforces Round 926 (Div. 2)

C:Sasha and the Casino 类似于倍投法&#xff0c;就是在一赔一的情况下,第一次压一块钱,每输一次就押注上一次两倍的金额. 假如资金无限的话,这种方法赢的期望为无穷大.原理类似于二进制&#xff0c;不论你输再多次,只要赢一次总额就增加了1.比如 15 二进制1111&#xff0c;…

HCIA-HarmonyOS设备开发认证V2.0-轻量系统内核内存管理-动态内存

目录 一、动态内存运行机制二、动态内存开发流程三、动态内存使用说明四、动态内存核心算法五、动态内存接口六、代码分析&#xff08;待续...&#xff09;坚持就有收获 一、动态内存运行机制 动态内存管理&#xff0c;即在内存资源充足的情况下&#xff0c;根据用户需求&…

算法--数论二

这里写目录标题 高斯消元高斯消元求线性方程组用途高斯消元的数学思想例题代码 二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 高斯消元 高斯消元求线性方程组 用途 这个…

Vite 5.0 正式发布

11 月 16 日&#xff0c;Vite 5.0 正式发布&#xff0c;这是 Vite 道路上的又一个重要里程碑&#xff01;Vite 现在使用 Rollup 4&#xff0c;这已经代表了构建性能的大幅提升。此外&#xff0c;还有一些新的选项可以改善开发服务器性能。 Vite 4 发布于近一年前&#xff0c;它…

黄金交易策略(Nerve Nnife.mql4):做单手数设计

完整EA&#xff1a;Nerve Knife.ex4黄金交易策略_黄金趋势ea-CSDN博客 NK的做单量是由参数设定的&#xff0c;以下分别是参数项&#xff1a; 考虑到复利的情况&#xff0c;若10000本金&#xff0c;在以上三个参数的设计下&#xff0c;第1单的购买量是0.01*10,第2单是0.01*10*2…