C语言练习作业(五)
来源:互联网 发布:lpl韩国外援知乎 编辑:程序博客网 时间:2024/06/10 15:23
关于指针:
指针真的好复杂啊,第二遍学还是很迷糊,总是分不清什么时候画带“*”,什么时候不带。看来还是应该多练习,先贴上这道题吧,感觉做完这题之后有些头绪了。
题目:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:
(1)输入10个数
(2)进行处理
(3)输出10个数
#include<stdio.h>#include<string.h>void input(int *);//输入函数void exchange(int *a);//交换数字void output(int *a);int main(){int a[10] = { 0 };input(a);exchange(a);output(a);return 0;}void input(int *a){printf_s("请输入10个整数:\n");for (int i = 0; i < 10; i++){scanf_s("%d", &a[i]);}/*for (int j = 0; j < 10; j++){printf_s("%d ", a[j]);}*/}void exchange(int *a){/*int t = 0, t2 = 0;int n = 0;int max = 0, min = 0;for (int i = 0; i < 10; i++){if (a[i] > t){t = a[i];n = i;}}max = t;t2 = a[9];a[9] = max;a[n] = t2;for (int j = 0; j < 10; j++){if (a[j] < t){t = a[j];n = j;}}min = t;t2 = a[0];a[0] = min;a[n] = t2;*/int *max, *min, *p, temp;max = min = p = a;for (p = a + 1; p < 10; p++){if (*p > *max){max = p;}}temp = *max;*max = a[9];a[9] = temp;for (p = a + 1; p < 10; p++){if (*p < *min){min = p;}}temp = *min;*min = a[0];a[0] = temp;}void output(int *a){for (int i = 0; i < 10; i++){printf_s("%d ", a[i]);}}
用于处理的函数里面有两段代码,上面注释掉的是一开始自己想的,看了答案后才明白这里可以用指针写,就合上书本自己试着写了下面的那段代码,再看答案,发现仍然有疏忽的地方,有些特例没有考虑到,不过不想再改了,以后再说吧。
0 0
- C语言练习作业(五)
- C语言练习作业(一)
- C语言练习作业(二)
- C语言练习作业(三)
- C语言练习作业(四)
- C语言练习作业(六)
- C语言练习作业(七)
- C语言第一次作业练习
- C语言第二次作业练习
- C语言第三次作业练习
- [C语言学习]作业五
- c语言第二次作业,编码练习
- C语言第四次作业练习
- C语言第五次作业练习
- C语言第六次作业练习
- C语言第七次作业练习
- C语言第八次作业练习
- C语言第九次作业练习
- 通过vpn访问oracle连接不上的问题解决!
- 函数帧
- php100网站怎么了
- android易忽视知识点总结(word版开源下载:8页)
- spring 集成logbcak日志
- C语言练习作业(五)
- Python实战之KNN实现
- 欢迎使用CSDN-markdown编辑器
- CUDA中并行规约(Parallel Reduction)的优化
- 【C语言】查找链表的中间节点及倒数第K个节点
- easyui(from)表单json格式转换
- AT&T汇编指令总结
- 学习总结
- 关于sql语句的一点总结