首页 > 其他分享 >谭浩强 第5版 第6章 第4题

谭浩强 第5版 第6章 第4题

时间:2024-01-28 17:32:14浏览次数:21  
标签:arr right int 插入 谭浩强 input size

题目: 

有一个已经排好序的数组,要求输入一个数后,按原来顺序的规律将它插入数组中。


分析:

我们可以利用2步来解这道题,

  1. 找到待插入的位置
  2. 插入


代码实现:
#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9 };
	int input = 0;
	int i = 0;
	int right = 0;
	int size = 0;

	scanf("%d", &input);


	size = sizeof(arr) / sizeof(arr[0]);
	right = size - 1 - 1;


	//比大小 - 找到它可以插入的位置
	while (input < arr[right])
	{
    	//如果不是要找的位置,则让元素后移,为后续插入做准备
		arr[right + 1] = arr[right];
		right--;
	}

	//进行插入
	//因为arr[right]该位置是有元素的,所以需要 + 1
	arr[right+1] = input;

	//打印结果
	for (i = 0; i < size; i++)
	{
		printf("%d ", arr[i]);
	}

	return 0;
}

标签:arr,right,int,插入,谭浩强,input,size
From: https://blog.51cto.com/u_16509575/9453601

相关文章

  • 谭浩强 第5版 第5章 第17题
    题目:两个乒乓球队进行比赛,各出三人。甲队为A,B,C3人,乙队为X,Y,Z3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程序找出3对赛车的名单。分析:通过分析题目,我们可以很直观地想到:利用3个for循环,遍历一遍。直到满足限制条件时跳出来即可。题目中有2......
  • 谭浩强 第5版 第5章 第11题
    问:一个球从100m高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第10次落地时共经过多少米,第10次反弹多高。分析:这道题的代码实现起来非常简单,我们只需要注意一点——把题目读清楚。题目中求的是第10次落地时,经过多少m,而不包括第10次回弹的距离。清楚了这一点后,我们......
  • 谭浩强 第5版 第4章 第10题
    企业发放的奖金根据利润提成。(利润用“x”代替)x≤100000元的,奖金可提成10%100000<x≤200000元部分,按7.5%提成200000<x≤400000元部分,按5%提成400000<x≤600000元部分,按3%提成600000<x≤1000000元部分,按1.5%提成1000000<x部分,按1%提成。要求:从键盘输入当月利润x,输......
  • 谭浩强 第5版 第5章 第10题
    题目有一个分数序列:求出这个数列的前20项之和。分析通过研究这组数列,我们可以看出来:除第一项外,后续每一项的分母都是前一项的分子,分子都是前一项的分母与分子之和。分析完之后,这道题就很简单了。代码实现:#include<stdio.h>intmain(){ doubletop=0.0;//分母 doubledow=......
  • 谭浩强第5版 第4章 第9题
    #define_CRT_SECURE_NO_WARNINGS1////输入一个数//1.求出它是几位数//2.分别输出它的每一位//3.逆序输出它//如,//输入:123//输出:3位123321//#include<stdio.h>#include<math.h>intNum_word(inta){ //1个数最少有1位,所以i定义为1 inti=1; while......
  • C语言程序设计-谭浩强(第五版)
    第1章程序设计和C语言1.1什么是计算机程序1.2什么是计算机语言1.3C语言的发展及其特点1.4最简单的C语言程序1.4.1最简单的C语言程序举例1.4.2C语言程序的结构1.5运行C程序的步骤与方法1.6程序设计的任务第2章算法——程序的灵魂2.1程序=算法+数据结构2.2什么是算法......
  • C语言程序设计(第四版)谭浩强版 课后答案 第八章 指针
    1、输出3个整数,按由小到大的顺序输出,写的复杂了,加上分析会变得简单,像下面输出3个字符(从小到大)#include<stdio.h>intmain(){voidcompare(int*a,int*b,int*c);inta,b,c;printf("pleaseinputthreenumbers:");scanf("%d%d%d",&a,&b,&c);c......
  • C语言程序设计(第四版)谭浩强版 课后答案 第五章
    2、#include<stdio.h>#include<math.h>intmain(){intsign=1,count=0;doublepi=0.0,n=1.0,term=1.0;while(fabs(term)>=pow(10,-6)){pi=pi+term;n=n+2;si......
  • C语言程序设计(第四版)谭浩强版 课后答案 第四章
    4、#include<stdio.h>intmain(){inta,b,c;scanf("%d%d%d",&a,&b,&c);if(a>b){if(a>c){printf("maxnumis:%d\n",a);}......
  • 重温C程序设计(第五版)-谭浩强-Day2
    1.字符输入输出函数:putchar(c)为一般形式注:putchar(‘\n’)为输出一个换行符,putchar为输出一个字符,不要用“”,这个使用来表示输出字符串的。字符类型也属于整数类型,因此将一个......