用C语言编写程序实现:利用冒泡法将数组a中的n个元素按升序排列,现将一个新数x插入到数组a

作者&投稿:邵支 (若有异议请与网页底部的电邮联系)
c语言,新手,数组 编写程序实现功能,创建一个数组a并为其赋初值(初始时有8个元素)。输入数x判断~

#include

int main()
{
int a[8] = {15,12,14,18,19,5,6,2};
int i;
int flag = 0; //记录是否在数组找到输入的整数:1--表示找到 0--表示没找到
int x;
printf("请输入1至20的整数:");
scanf("%d",&x);
for (i = 0;i<8;i++)
{
if (x == a[i])
{
flag = 1;
break; //找到,则结束循环
}
}

if (flag != 0)
printf("元素所在下标是:%d
",i);
else
printf("所找元素不存
");

return 0;
}

#include
int main()
{
int a[5]={8,6,5,4,1},i,n=5,temp;
for(i=0;i<n/2;i++)
{
temp=a[i];
a[i]=a[n-i-1];
a[n-i-1]=temp;
}
for(i=0;i<n;i++)
{
printf("%d",a[i]);
}
system("pause");
return 0;
}

扩展资料:
选择排序
主要思想就是,基本上默认数组中第一个元素为最大(最小)值,之后将这个元素和后面的每个元素都进行比较,以由大到小排序为例,当第一个值遇到比其大的,就进行交换。这样第一轮过后,第一位就是最大的。
接着进行第二轮,由第二个数开始逐个比较,遇到比第二个数大的进行交换,这样第二轮之后第二个数就是第二大的了,以此类推,不断进行选择,最后完成排序。
void selectSort(int numbers[], int length) {
for (int i = 0; i < length; i++) {
for (int j = i + 1; j < length; j++) {
if (numbers[i] < numbers[j]) {
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}
}
}
int main(int argc, const char * argv[]) {
int myArray[] = {42, 7, 1, -3, 88};
int length = sizeof(myArray) / sizeof(myArray[0]);
selectSort(myArray, length);
for (int i = 0; i < length; i++) {
printf("%i ", myArray[i]);
}
return 0;
}
当第一个数来比较的时候,i = 0,那么j应该等于i + 1,因为第一个数要和第二个数开始比,并且比较length - 1次;当i = 1时,j = 2,并且比较length - 2次,以此类推;上面写的是由大到小排序。

冒泡法排序:
void sort(int *a, int n)
{
int k, l;
for(int i = 0; i < n; i++)
{
k = i;
for(int j = i; j < n; j++)
{
if(a[j] > a[k])
{
k = j;
}
}
l = a[i];
a[i] = a[k];
a[k] = l;
}
}

void insert(int *a, int n, int num)
{
int k;
for(int i = 0; i < n; i++)
{
if(num > a[i])
{
k = i;
break;
}
}
for(int i = n; i > k; i--)
{
a[i] = a[i-1];
}
a[k] = num;
}

void output(int *a, int n)
{
for(int i = 0; i < n; i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}


c语言编写一个程序分几步?
编写一个C语言程序通常包括以下步骤:定义变量:根据程序的需要,定义变量用于存储数据。变量可以是整型、字符型、浮点型等。编写代码:编写程序的主体代码,包括算法和逻辑操作等。编译程序:使用C语言编译器将源代码编译成可执行文件。运行程序:运行编译后的可执行文件,观察程序的输出结果。以下是一个简单...

C语言编写一个程序,求x> y的运行结果
以下是一个简单的C语言程序,可以比较两个整数x和y,并打印出相应的结果:在这个程序中,我们首先声明了两个整数变量x和y,然后使用printf函数提示用户输入两个整数。接下来,我们使用scanf函数读取用户输入的整数,并将它们存储在变量x和y中。然后,我们使用一个if-else语句来比较x和y的值。如果x大于y...

如何用C语言编写一个计算机程序?
include "stdio.h"main(){ int x;printf("请输入一个整数");scanf("%d",&x);if(x%2 == 0) printf("%d是偶数\\n",x);else printf("%d是奇数\\n",x);}

C语言如何编写程序?
1 写代码。这是最基础的一步,即实现C语言的源文件(.c,必需),和可能的头文件(.h,非必需)。2 编译。将编写好的代码,通过编译工具,转换为目标文件。此步中,会对文件内部及包含的头文件进行语法语义的分析检查。如果出错,则必须返回到1步对代码进行修改,直到没有错误为止。3 链接。将目标文件...

c语言程序开发需要哪些步骤?
开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。1、预处理:输入源程序并保存(.C文件)。2、编译:将源程序翻译为目标文件(.OBJ文件)。...

如何编写C语言程序?
1.打开桌面上的DEV_C++,进入如下界面:2.快捷键“CTRL+N”建立新源代码。3.输入源代码,下面给出最简单的Hello,world源代码:include <stdio.h> int main( ){ printf("Hello,World\\n");return 0;} 4.按下F11编译并且运行源代码,得到运行结果:5.点击任意键返回源代码编辑界面可以继续进行开发...

怎样用C语言编写一个简单的程序?
int main(){ int a[7]; \/\/ 建立一个 7 元素的数组 int i;int sum = 0;int max = a[0];int min = a[0];\/\/ 手动输入 7 个元素 for (i = 0; i < 7; i++){ printf("请输入第 %d 个元素的值: ", i+1);scanf("%d", &a[i]);} \/\/ 求这 7 个元素的和 for (i...

c语言的开发步骤有哪些
1、问题定义 在开始编写C语言程序之前,首先需要明确问题的定义和要求。这包括确定程序的输入和输出,分析问题的特点和约束条件,理解所需实现的功能。问题定义阶段还需要对问题进行分析和设计,确定解决问题所需的算法和数据结构。2、计算设计 算法设计是C语言程序开发中最关键的步骤之一。在这个阶段,需要...

如何用c语言编写一个程序?
include<stdio.h> int main(){ int i,m=0;for(i=2;i<=100;i+=2) m=m+i;printf("%d\\n",m);return 0;} 或 include int main(){ int i,sum=0;for(i=1;i<=50;i++){ sum=sum+2*i;} printf("2+4+6+…+98+100=%d\\n",sum);return 0;} ...

一个c语言的程序题?
然后,在main()函数中定义一个头节点指针,并用它来存储整个链表 请点击输入图片描述 接下来,实现从键盘输入五个整数并将它们尾插入链表中 请点击输入图片描述 最后,实现链表中的插入和删除操作,并输出链表中的所有元素 下面是一个可行的c语言程序,该程序实现了从键盘输入五个整数并存储在链表中,...

市南区18958021734: 用C语言编写程序实现:利用冒泡法将数组a中的n个元素按升序排列,现将一个新数x插入到数组a -
谷试曲咪: 冒泡法排序: void sort(int *a, int n) {int k, l;for(int i = 0; i < n; i++){k = i;for(int j = i; j < n; j++){if(a[j] > a[k]){k = j;}}l = a[i];a[i] = a[k];a[k] = l;} }void insert(int *a, int n, int num) {int k;for(int i = 0; i < n; i++){if(num > a[i]){k = i;break;}...

市南区18958021734: C语言:编写一个程序用冒泡排序实现升序排列 -
谷试曲咪: 1、首先打开一个空白的C语言文件,首先先定义一组待排序的数列以及各个变量,接着就是用来处理排序的逻辑: 2、冒泡排序的逻辑是一组数从第一个数值开始,如果相邻两个数的排列顺序与期望不同,则将两个数的位置进行交换,重复这样的过程直到最后一个数不需要交换则排序完成,如果有N个数需要排序,则需要进行(N-1)趟的比较: 3、最后编译运行程序,观察最终排序的结果,可以看到数字被从小到大的排列好了,以上就是C语言冒泡排序实现的过程:

市南区18958021734: C语言:编程实现从键盘上输入一组数据,用冒泡排序进行排序输出 -
谷试曲咪: 冒泡法:对10个数由大到小排序#include<stdio.h>#include<stdlib.h> main() { int i,j,a[11],m; for(i=1;i<11;i++) { scanf("%d",&a[i]); } for(j=1;j<=10;j++) { for(i=1;i<11-j;i++) { if(a[i+1]>a[i]) { m=a[i+1]; a[i+1]=a[i]; a[i]=m; } } } for(i=1;i<11;i++) { printf("%d ",a[i]); } system("pause"); } 希望能够帮到你!

市南区18958021734: 一个简单的冒泡法c语言编程 -
谷试曲咪: #include <stdio.h> void main() {int a[10]={3,23,43,56,21,19,214,1,3,13};int i,j,k;for(i=10;i>=1;i--)for(j=i-1;j>=1;j--) if(a[j]>a[j-1]){k=a[j];a[j]=a[j+1];a[j+1]=k;}for(i=0;i<10;i++)printf("%3d",a[i]); };

市南区18958021734: 请问怎么用C语言编写一个程序用冒泡法将20个浮点型数据排序 -
谷试曲咪: #include<stdio.h> void main(void) { float a[20]; int i,j; float temp; for(i=0;i<20;i++) { scanf("%f",&a[i]); } for(i=0;i<20;i++) { for(j=i+1;j<20;j++) { if (a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; }} } printf("从小到大的顺序为:\n"); for(i=0;i<20;i++) { printf("%f",a[i]); } putchar('\n'); }

市南区18958021734: 求一例简单C语言编写的冒泡程序.. -
谷试曲咪: 冒泡排序详细注释: /* 用冒泡排序法对一维整型数组中的十个数升序排序 */ #include <stdio.h> #include <stdlib.h>int main() { int i,j,t,a[10]; printf("Please input 10 integers:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<9;i++) /* 冒泡法排序...

市南区18958021734: C语言 用冒泡排序法将一组整数(存在于数组中)按照从小到大排列 -
谷试曲咪: 如果要解决这个问题,用结构体更加的方便,用数组会比较麻烦一些,不过是可以解决的. #include#include#include#define stu_num 5 #define sub_num 4 //计算个人总成绩 void count(int a[stu_num][sub_num+1]) { int i, j, sum; for(i=0; i

市南区18958021734: 用C语言编写函数,要实现快速排序算法或者冒泡法 -
谷试曲咪: 冒泡法排序函数如下: void bubble(int a[],int n) {int i,j,t;for(i=0;i<n-1;i++)/*共进行n-1轮*/for(j=0;j<n-1-i;j++)/*每轮在前n-i个数中比较*/if(a[j]>a[j+1]) /*若相邻元素逆序*/ {t=a[j]; a[j]=a[j+1];a[j+1]=t;}/*就交换*/ }void sort(int *a, int left, int right) {if(...

市南区18958021734: c语言程序设计作业...1.冒泡法排序,2. 第二大整数,3.数组输出1.冒泡法排序输入10个数,用“冒泡法”对10个数排序(由小到大)这10个数字在100以... -
谷试曲咪:[答案] # include int main() { int a[10],i,j,t; for(i=0;i

市南区18958021734: c语言程序怎样用用冒泡法按升序排列十个数? -
谷试曲咪: #include void main() { int a[10],i,j,t; printf("Please input 10 numbers:\n"); for(i=0;i scanf("%d",&a[i]); for(i=0;i {for(j=0;j { a[i] t=a[i-1];a[i-1]=a[i];a[i]=t; } } for(i=0;i printf("%d",a[i]); } 应该是这个吧,有问题的话修改下就可以了.但是思路是这样的...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网