代码编织梦想

是新手写的代码。
发上来是希望以后能回看自己的进步过程,同时把这里当成一个电子笔记本,收集题目。
肯定会有很多不足之处,希望大家多多指出错误(促进共同进步鸭


互换最大最小值

利用函数Swap(),从键盘输入10个整数,用函数编程实现寻找最大值和最小值,并互换它们所在数组中的位置。

下标法(乱起的名字)

#include <stdio.h>
void Swap (int a[10]);
int main (void)
{
    int a[10],i;
    for (i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
    }
    Swap(a);
    return 0;
}
void Swap (int a[10])
{
    int maxpos,minpos,i,temp;
    maxpos=minpos=0;
    for (i=0;i<10;i++)
    {
        if (a[i]>a[maxpos])
        {
            maxpos=i;
        }
        if (a[i]<a[minpos])
        {
            minpos=i;
        }
    }
    temp=a[maxpos];
    a[maxpos]=a[minpos];
    a[minpos]=temp;
    for (i=0;i<10;i++)
    {
        printf("%d ",a[i]);
    }
}

指针法

#include <stdio.h>
#define N 10
void Find(int a[N],int *max,int *min);
void Swap(int a[N],int *max,int *min);
int main (void)
{
    int a[N],i;
    int min,max;
    for (i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
    }
    Find(a,&max,&min);
    Swap(a,&max,&min);
    for (i=0;i<N;i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}
void Find(int a[N],int *max,int *min)
{
    int i;
    *min=0;
    *max=0;
    for (i=0;i<N;i++)
    {
        if (a[i]>a[*max])
        {
            *max=i;
        }
        if (a[i]<a[*min])
        {
            *min=i;
        }
    }
}
void Swap(int a[N],int *max,int *min)
{
    int temp;
    temp=a[*max];
    a[*max]=a[*min];
    a[*min]=temp;
}


啊感觉没多大区别,唯一的区别就是函数不再局限于一个返回值,目前没有过多的体验(因为题目不难,方法也多),希望以后能巧妙利用指针(毕竟是个好登西)
其实学校、周围同学的进度已经非常超前了,但我还在做指针的入门题(嗐,赶上进度吧

时间:2020/12/13 12:04:02

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/SXXian/article/details/111094561

C语言括号匹配不用栈思路(考虑左右匹配)-爱代码爱编程

问题描述 表达式中的合法括号为“(”、“)”、“[”、“]”、“{”、“}”,这三种括号可以按照任意的次序嵌套使用。 请写一个程序,判断给定表达式中的括号是否匹配,既左右括号顺序和数量都匹配。 输入说明 输入为一个表达式字符串,长度不超过50。 输出说明 对输入的表达式,若其中的括号是匹配的,则输出“yes”,否则输出“no”。 !!!注意,这

C与C++区别,C到C++的升级-爱代码爱编程

C++与C的关系 C++ = C 结构化编程 + 面向对象(OO)+ STL(模板)泛型编程 C++继承了所有的C特性C++在C的基础上增加了很多新特性C++设计的目标是运行效率与开发效率的统一从C到C++的升级 1.更加强调语言的实用性 C++所有变量都可以在需要使用时在定义,C语言中的变量都必须在作用域开始的位置定义!! int c = 0;

算法思想-爱代码爱编程

备注:只是核心思想,在此基础上可以向外拓展出更多内容 1.元素逆置 /*设计思想:通过循环,将首尾元素对调,并返回新顺序表 **/ ElemType temp; int i; for (i = 0;i < L->length / 2;i++){//L为结构体,参考本专栏《结构体》中的定义 temp = L->data[(L

文件排序-爱代码爱编程

文件排序 问题描述 操作系统中在查找文件时会按照某个规则对文件排序,例如下图为按照文件修改日期逆序排序(最后修改的排在最前面)。 但目前操作系统不支持同时按照多个字段进行排序。现在请你写一个程序能够同时按照修改日期和文件大小对文件进行排序,排序规则为: 日期优先,最后修改的排在前面当修改日期相同时,大的文件排在前面输入说明 第一行为一个数字n,n 表示

复试筛选-爱代码爱编程

复试筛选 问题描述 考研初试成绩公布后需要对m个学生的成绩进行排序,筛选出可以进入复试的前n名学生。 排序规则为首先按照总分排序,总分相同则按英语单科成绩排序,总分和英语成绩也相同时考号小者排在前面。 现给出这m个学生的考研初试成绩,请筛选出可以进入复试的n名学生并按照排名从高到低的顺序依次输出。 输入说明 输入为m+1行,第一行为两个整数m和n,

2020-12-13-爱代码爱编程

DSP使用心得之TMS320C6713的启动方式 本文重点介绍C6713的启动方式,如有错误,望不吝赐教。 一、离线启动方式 C6713的启动方式不同于C6747\48及C6455等DSP的启动方式,EDMA自动将CE1起始位置1KB代码拷贝到内部程序存储器的0地址中,拷贝完成后程序由0地址开始运行,这个过程由内置固件自动完成,可称为一级引导BOOT。这