![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言典例
名侦探靠北
这个作者很懒,什么都没留下…
展开
-
一维数组去重处理法二(C语言)
问题:小明随机生成 n(n<100000)个0~999的整数,可能有重复的数字,请你按从小到大的顺序输出这些整数(忽略重复数字),例如随机生成的8个数为:1 2 5 2 4 5 6 5 2输出结果:1 2 4 5 6解题思路(方法二):相比法一将n个数排序的较大代价,法二更优:发现n <999,定义长度为1000的数组,通过对数组元素出现次数计数,输出次数非0的元素下标(即为需输出的数值),同时实现了去重#include<stdio.h>原创 2020-12-13 23:06:38 · 1420 阅读 · 1 评论 -
一维数组去重处理法一(C语言)
问题:小明随机生成 n(n<100000)个0~999的整数,可能有重复的数字,请你按从小到大的顺序输出这些整数(忽略重复数字),例如随机生成的8个数为:1 2 5 2 4 5 6 5 2输出结果:1 2 4 5 6解题思路(方法一):先排序,再去重,如果数组元素与上一个不同则输出,反之不输出,达到去重目的#include <stdio.h>#include <math.h>void rsort(int arr[],int n);原创 2020-12-13 23:04:58 · 2927 阅读 · 1 评论 -
逐步解析:杨辉三角(C语言)
解决问题:输出杨辉三角前n行杨辉三角形如:11 11 2 11 3 3 11 4 6 4 1解决思路:用二维数组存储杨辉三角每一个数值#include<stdio.h>#include<math.h>int main(){ int n,i,j; scanf("%d",&n); //读入整数n作为杨辉三角行数 int str[n][n]; for(i=0;i<n;i++)//先对最左列和对角线的元素赋值 1 { str[i][0]原创 2020-12-11 15:57:59 · 671 阅读 · 0 评论 -
比较交换/(选择)排序法和冒泡排序法(C语言)
问题:C语言一维数组排序,读入一个正整数 n , 再读入 n 个整数(1<n<=10)样例:请输入元素个数:5请输入 5 个整数:3 2 1 5 4排序后:1 2 3 4 5#include<stdio.h>#include<math.h>int main(){ int n,i,j,x,temp; printf("请输入元素个数 :"); scanf("%d",&n); int str[n]; printf("请原创 2020-12-10 23:38:17 · 1230 阅读 · 0 评论 -
在有序数列里插入新元素(C语言)
解题思路:新元素与有序数列元素逐个比较,将其插入两数之间,并同时将其他元素后移,为防止后移时值被覆盖,从后往前遍历数列元素代码如下:#include<stdio.h>#include<math.h>int main(){ int n,i,a,b; scanf("%d",&n); //输入数列元素个数 n int str[n+1]; //定义数组长度,多出一位存放新元素 for(i=0;i<n;i++) { //逐个输入数组元原创 2020-12-10 23:07:16 · 3094 阅读 · 0 评论