寒假 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;
}
相关推荐
淡海水4 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
leobertlan5 小时前
好玩系列:训练一个神经网络模型指导小孩玩游戏2-大局观教练
算法
Tisfy5 小时前
LeetCode 3876.构造奇偶一致的数组 II:三种情况分类讨论(其实还是脑筋急转弯)
算法·leetcode·题解·脑筋急转弯
乐迪信息6 小时前
智慧港口船舶AI算法实现在线状态监测
大数据·人工智能·深度学习·算法·计算机视觉
木井巳8 小时前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
心抵鹊8 小时前
归并排序之翻转对(hard)
数据结构·算法
白山编程大哥8 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法
shehuiyuelaiyuehao8 小时前
算法34,位运算符操作,总结
算法
Navigator_Z9 小时前
LeetCode //C - 1224. Maximum Equal Frequency
c语言·算法·leetcode
Navigator_Z9 小时前
LeetCode //C++ - 1226. The Dining Philosophers
c语言·算法·leetcode