zoukankan      html  css  js  c++  java
  • 第六周作业——预习题

    这个作业属于那个课程 C语言程序设计II
    这个作业要求在哪里 要求
    我在这个课程的目标是 运用指针函数
    这个作业在哪个具体方面帮助我实现目标 指针的使用
    参考文献 数组与指针

    最小数放前最大数放后

    为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换;输出数组元素。

    函数接口定义:

    void input(int *arr,int n);
    void max_min(int *arr,int n);
    void output(int *arr,int n);
    

    三个函数中的 arr和n 都是用户传入的参数。n 是元素个数

    input函数的功能是输入 n个元素存到指针arr所指向的一维数组中。

    max_min函数的功能是求指针arr所指向的一维数组中的最大值和最小值,其中最小的数与第一个数对换,将最大的数与最后一个数对换。

    output函数的功能是在一行中输出数组元素,每个元素输出占3列。

    裁判测试程序样例:

    #include<stdio.h>
    void input(int *arr,int n);
    void max_min(int *arr,int n);
    void output(int *arr,int n);
    int main()
    {
     int a[10];
     
     input(a,10);
     max_min(a,10);
     output(a,10);
     
     return 0;
    }
    /* 请在这里填写答案 */
    

    输入样例:

    5 1 4 8 2 3 9 5 12 7
    

    输出样例:

      1  5  4  8  2  3  9  5  7 12
    

    代码:

    void input(int *arr,int n)
    {
    	int i;
    	
    	for(i = 0;i < n; i++)
    	{
    		scanf("%d", &arr[i]);
    	}
    }
    void max_min(int *arr,int n)
    {
    	int i, max, min;
    	int maxt, mint, t;
    	
    	max = min = arr[0];
    	
    	for(i = 1;i < n;i++)
    	{
    		if(max < arr[i])
    		{
    			max = arr[i];
    			maxt = i;
    		}
    		
    		if(min > arr[i])
    		{
    			min = arr[i];
    			mint = i;
    		}
    	}
    	t = arr[0];
     	arr[0] = arr[mint];
     	arr[mint] = t;
     	
     	t = arr[n-1];
     	arr[n-1] = arr[maxt];
     	arr[maxt] = t;
     } 
     void output(int *arr,int n)
     {
     	int i, t;
     	
     	for(i = 0;i < n; i++)
    	{
    		printf("%3d", arr[i]);
    	}
     }
    

    流程图:

    暂时没画

  • 相关阅读:
    HUD 问题
    嵌入式面试
    网上某人面试经验总结
    C中prngtf是从右到左压栈的
    哈希表
    做事原则
    学习单片机的步骤
    C#预处理器命令
    CWinApp类CMultiDocTemplate类CDocument类CView类的关系
    Windows消息大全
  • 原文地址:https://www.cnblogs.com/zw431387/p/10649430.html
Copyright © 2011-2022 走看看