C语言经典题目(22)

简介: C语言经典题目(22)

1.转置矩阵

用指针的方法处理:写一个函数,将3*3的整型矩阵转置

转置:第一行变为第一列.......最后一行变为最后一列
要求使用指针写这个转置函数,那就使用数组指针来间接进行转置操作
#include<stdio.h>
void move(int(*pa)[3])
{
    int i, j, temp;
    for (i = 0; i < 3; i++)
        for (j = 0; j < i; j++)
        {
            temp = *(*(pa + i) + j);
            *(*(pa + i) + j) = *(*(pa + j) + i);
            *(*(pa + j) + i) = temp;
        }
}
int main()
{
    int a[3][3];
    int temp;
    for (int i = 0; i < 3; i++)
        for (int j = 0; j < 3; j++)
            scanf("%d", &a[i][j]);
            
    printf("转置前的数组为:\n");
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
            printf("%5d ", a[i][j]);
        printf("\n");
    }
    move(a);
    printf("转置后的数组为:\n");

    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
            printf("%5d ", a[i][j]);
        printf("\n");
    }
    return 0;
}
AI 代码解读

2.字符串连接

用指针的方法处理:写一个函数,将两个字符串连接。

#include<stdio.h>
#include<assert.h>
char* my_strcat(char* dest, const char* src)
{
    char* ret = dest;
    assert(dest != NULL);
    assert(src != NULL);  
    while (*dest)
    {
        dest++;
    }
    while (*dest = *src)
    {
        dest++;
        src++;
    }
    return ret;
}
int main()
{
    char str1[30],str2[30];
    scanf("%s", str1);
    scanf("%s", str2);
    my_strcat(str1, str2);
    printf("连接后的结果为:%s", str1);
}
AI 代码解读

3、分析程序

分析下面程序,说出其功能

#include<stdio.h>
int main()
{
    int m,n,i,j;
    int max=0;
    scanf("%d%d",&m,&n);
    for(i=m;1;i++)          
    {
        if(i%m==0&&i%n==0)  
        break;              
    }
    
    for(j=1;j<=n;j++)        
    {
        if(m%j==0 && n%j==0)   
        {
            if(max<j)        
            max=j;           
        }
    }
    printf("%d *************%d\n",i,max);
    return 0;
} 
AI 代码解读
程序功能:输出输入的两个数的最小公倍数和最大公约数

第一个循环的作用:只有i可以同时整除m和n的时候才会执行break跳出循环。所以第一个循环的作用就是找到m和n的最小公倍数。

第二个循环的作用:找出可以同时被m和n整除的数,并且通过if语句,使max是最后的最大公约数。

目录
打赏
0
0
0
0
24
分享
相关文章
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
148 1
2.C语言题目---字符串左旋
2.C语言题目---字符串左旋
120 1
1.C语言题目---指针类(基础)
1.C语言题目---指针类(基础)
102 1
【C语言】LeetCode(力扣)上经典题目
【C语言】LeetCode(力扣)上经典题目
157 1
【C语言】指针练习题目
【C语言】指针练习题目
133 2
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)
133 1
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问