30、二维数组/字符串操作相关练习20240214

2024-02-15 09:44

本文主要是介绍30、二维数组/字符串操作相关练习20240214,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、编程实现二维数组的杨辉三角。

代码:

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

运行:

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

代码:

#include<stdlib.h>
#include<string.h>
#include<stdio.h>int main(int argc, const char *argv[])
{int arr[3][3]={10,20,30,11,22,33,10,10,10};int line1=0,line2=0,line3=0,row1=0,row2=0,row3=0;for(int i=0;i<3;i++){for(int j=0;j<3;j++){if(i==0)line1+=arr[i][j];if(i==1)line2+=arr[i][j];if(i==2)line3+=arr[i][j];if(j==0)row1+=arr[i][j];if(j==1)row2+=arr[i][j];if(j==2)row3+=arr[i][j];}}printf("line1=%d,line2=%d,line3=%d\nrow1=%d,row2=%d,row3=%d\n",line1,line2,line3,row1,row2,row3);return 0;
}

运行

三、编程实现二维数计算第二大值

代码:

#include<stdlib.h>
#include<string.h>
#include<stdio.h>int main(int argc, const char *argv[])
{int arr[2][3]={11,66,8,22,99,66};int max=arr[0][0];int min=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(min>arr[i][j])min=arr[i][j];}}int max2=min;for(int i=0;i<2;i++){for(int j=0;j<3;j++){if(max2<arr[i][j]&&arr[i][j]!=max)max2=arr[i][j];}}printf("max2=%d\n",max2);return 0;
}

运行:

四、使用非函数方法实现系统函数strcat,strcmp,strcpy,strlen。

代码:

#include<stdlib.h>
#include<string.h>
#include<stdio.h>
void my_strcat(char *dest,const char *src)
{int i=0;while(*(dest+i))i++;int j=0;while(*(src+j)){*(dest+i+j)=*(src+j);j++;}*(dest+i+j)='\0';
}
int my_strcmp(const char *s1,const char *s2)
{int i=0;while(*(s1+i)==*(s2+i))i++;return *(s1+i)-*(s2+i);
}
void my_strcpy(char *dest,const char *src)
{int i=0;while(*(src+i)){*(dest+i)=*(src+i);i++;}*(dest+i)='\0';
}
int my_strlen(const char *dest)
{int i;for(i=0;*(dest+i);i++);return i;
}
int main(int argc, const char *argv[])
{char dest[32]="hello ";char src[8]="2024";
/*	my_strcat(dest,src);puts(dest);int  dif=my_strcmp(dest,src);if(dif>0)puts(">");else if(dif<0)puts("<");elseputs("=");my_strcpy(dest,src);puts(dest);
*/ 	int len=my_strlen(dest);printf("dest len=%d\n",len);return 0;
}

运行

这篇关于30、二维数组/字符串操作相关练习20240214的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/711043

相关文章

poj2576(二维背包)

题意:n个人分成两组,两组人数只差小于1 , 并且体重只差最小 对于人数要求恰好装满,对于体重要求尽量多,一开始没做出来,看了下解题,按照自己的感觉写,然后a了 状态转移方程:dp[i][j] = max(dp[i][j],dp[i-1][j-c[k]]+c[k]);其中i表示人数,j表示背包容量,k表示输入的体重的 代码如下: #include<iostream>#include<

hdu2159(二维背包)

这是我的第一道二维背包题,没想到自己一下子就A了,但是代码写的比较乱,下面的代码是我有重新修改的 状态转移:dp[i][j] = max(dp[i][j], dp[i-1][j-c[z]]+v[z]); 其中dp[i][j]表示,打了i个怪物,消耗j的耐力值,所得到的最大经验值 代码如下: #include<iostream>#include<algorithm>#include<

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

hdu 1166 敌兵布阵(树状数组 or 线段树)

题意是求一个线段的和,在线段上可以进行加减的修改。 树状数组的模板题。 代码: #include <stdio.h>#include <string.h>const int maxn = 50000 + 1;int c[maxn];int n;int lowbit(int x){return x & -x;}void add(int x, int num){while

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

HDU 2159 二维完全背包

FATE 最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最多只杀s只怪。请问他能

RabbitMQ练习(AMQP 0-9-1 Overview)

1、What is AMQP 0-9-1 AMQP 0-9-1(高级消息队列协议)是一种网络协议,它允许遵从该协议的客户端(Publisher或者Consumer)应用程序与遵从该协议的消息中间件代理(Broker,如RabbitMQ)进行通信。 AMQP 0-9-1模型的核心概念包括消息发布者(producers/publisher)、消息(messages)、交换机(exchanges)、

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚: