寒假 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;
}
相关推荐
karmueo469 分钟前
视频序列和射频信号多模态融合算法Fusion-Vital解读
算法·音视频·多模态
写代码的小球3 小时前
求模运算符c
算法
大千AI助手7 小时前
DTW模版匹配:弹性对齐的时间序列相似度度量算法
人工智能·算法·机器学习·数据挖掘·模版匹配·dtw模版匹配
YuTaoShao8 小时前
【LeetCode 热题 100】48. 旋转图像——转置+水平翻转
java·算法·leetcode·职场和发展
生态遥感监测笔记8 小时前
GEE利用已有土地利用数据选取样本点并进行分类
人工智能·算法·机器学习·分类·数据挖掘
Tony沈哲9 小时前
macOS 上为 Compose Desktop 构建跨架构图像处理 dylib:OpenCV + libraw + libheif 实践指南
opencv·算法
刘海东刘海东9 小时前
结构型智能科技的关键可行性——信息型智能向结构型智能的转变(修改提纲)
人工智能·算法·机器学习
pumpkin8451410 小时前
Rust 调用 C 函数的 FFI
c语言·算法·rust
挺菜的10 小时前
【算法刷题记录(简单题)003】统计大写字母个数(java代码实现)
java·数据结构·算法