寒假 14

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

复制代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <unistd.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 || j==i)
            {
                arr[i][j]=1;
            }
            else
            {
                arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
            }
            printf("%d\t",arr[i][j]);
        }
        puts("");
    }
	return 0;
}

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

复制代码
int main(int argc, const char *argv[])
{
	int n,m;
	printf("please enter n and m:");
	scanf("%d %d",&n,&m);
	int arr[n][m];
	printf("please enter arr:");
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			scanf("%d",&arr[i][j]);
		}
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			printf("%d ",arr[i][j]);
		}
		puts("");
	}
 
	//计算每一行的和
	int sum1;
	for (int i=0;i<n;i++) 
	{
		sum1=0;
		for (int j=0;j<m;j++) 
		{
			sum1+=arr[i][j];
		}
		printf("第%d行的和为%d\n",i+1,sum1);
	}
	//计算每一列的和
	int sum2;
	for (int j=0;j<m;j++) 
	{
		 sum2=0;
		for (int i=0;i<n;i++) 
		{
			sum2+=arr[i][j];
		}
		printf("第%d列的和为%d\n",j+1,sum2);
	}
	return 0;
}

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

复制代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
 
int main()
{
    int n;
    scanf("%d", &n);
 
    int a[n][n];
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            scanf("%d", &a[i][j]);
        }
    }
 
    int max = 0;
    for (int i = 0; i < n; i++)
    {
 
        for (int j = 0; j < n; j++)
        {
            if (max < a[i][j])
            {
                max = a[i][j];
            }
        }
    }
 
 
    int sec_max = 0;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if (sec_max < a[i][j] && max > a[i][j])
            {
                sec_max = a[i][j];
            }
        }
    }
    printf("第二大:%d\n", sec_max);
 
    return 0;
}

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

复制代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
void my_strcmp(char s1[], char s2[])
{
    int i = 0;
    while (s1[i] == s2[i])
    {
        if (s1[i] == '\0' || s2[i] == '\0')
        {
            break;
        }
        i++;
    }
 
    if (s1[i] > s2[i])
    {
        puts("s1 > s2");
    }
    else if (s1[i] < s2[i])
    {
        puts("s1 < s2");
    }
    else
    {
        puts("s1 == s2");
    }
}
 
void my_strcpy(char s1[], char s2[])
{
    int i = 0;
    while (s2[i] != '\0')
    {
        s1[i] = s2[i];
        i++;
    }
    s1[i] = '\0';
}
 
int my_strlen(char s[])
{
    int i;
    for (i = 0; s[i] != '\0'; i++);
 
    return i;
}
 
void my_strcat(char s1[], char s2[])
{
    int i = 0;
    while (s1[i] != '\0')
    {
        i++;
    }
 
    int j = 0;
    while (s2[j] != '\0')
    {
        s1[i + j] = s2[j];
        j++;
    }
 
    s1[i + j] = '\0';
}
 
int main()
{
    char s1[20] = "hello";
    char s2[20] = "world";
 
    my_strcmp(s1, s2);
    printf("%s len: %d\n", s1, my_strlen(s1));
    my_strcpy(s1, s2);
    printf("%s\n", s1);
    my_strcat(s1, s2);
    printf("%s\n", s1);
 
 
    return 0;
}
相关推荐
MartinYeung51 小时前
[论文学习]DP2Unlearning:高效且具保证的大型语言模型遗忘框架(基于差分隐私的 LLM Unlearning 方法)
学习·算法·语言模型
Tian_Hang1 小时前
C++原型模式(Protype)
开发语言·c++·算法
bIo7lyA8v1 小时前
算法复杂度的渐进分析与实际运行时间的差异的技术8
算法
yuan199972 小时前
欧拉梁静力与屈曲计算的 MATLAB 实现(有限差分法 + 解析解)
开发语言·算法·matlab
汉克老师3 小时前
GESP7级C++考试语法知识(二、指数函数(3、综合练习)
c++·算法·数学建模·指数函数·gesp7级·复利
林间码客4 小时前
04 ROC曲线与AUC:从零开始手动计算
大数据·人工智能·算法
Irissgwe4 小时前
map/set/multimap/multiset 的底层逻辑与实现
数据结构·c++·算法·二叉树·stl·c·红黑树
IronMurphy4 小时前
【算法五十八】23. 合并 K 个升序链表
数据结构·算法·链表
思茂信息4 小时前
CST软件基于液态金属开关的方向图可重构天线
服务器·算法·重构·cst·仿真软件·电磁仿真