本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!