c语言中怎么判断数组中每一个数是按从小打大排序?
#include "stdio.h"
int main()
{
int i,j;
int a[12];
for(i=1; i<=10; ++i)
scanf("%d",&a[i]);
for(i=1; i<10; ++i)
for(j=i; j<=10; ++j)
if(a[i]<a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
//前十个数的排序
for(i=1; i<=10; ++i)
printf("%d ",a[i]);
printf("
");
printf("Input a new number: ");
scanf("%d",&a[11]);
for(i=10; i>0; --i)
if(a[i+1]>a[i])
{
int t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
else break;
//11个数的排序
for(i=1;i<=11; ++i)
printf("%d ",a[i]);
printf("
");
return 0;
}
#include
main()
{
int x;
printf("请输入要排序数字个数:");
scanf("%d",&x);
int i,j,k,a,b,num[x];
printf("输入数据:");
for(i=0;i<x;i++)
scanf("%d",&num[i]);
for(j=0;j<x;j++)
{
for(k=j+1;k<x;k++)
if(num[k]>num[j])
{
a=num[j];
num[j]=num[k];
num[k]=a;
}
}
for(b=0;b<x;b++)
printf("%d ",num[b]);
return 0;
}
扩展资料:include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。
否则,就是正确的排列(即 下一个数大于等于 前一个数)。
假定数组 有 n 个元素,数组元素数值 已知,程序如下:
#include <stdio.h>
int main(){
int a[10]={1,2,3,4,5,6,7,8,9,-10};
int i;
int flag=0,n=10; // n是元素个数,flag 是 数组元素顺序是否正确的标志
for (i=0;i<n-1;i++){
if (a[i]>a[i+1]){ flag=1; break;}; //顺序有错时标志设1,退出循环
}
if (flag==0) printf("Right order !\n");
else printf("Wrong order !\n");
return 0;
}
从第二个开始,每个数都和前面的所有数进行比较。如果每个数都比前面的数大,那么就是从小到大排序的。
c语言数组元素判断是否相同以及相同的个数
\/\/ 下面的算法还可以优化,就留给楼主自己思考:#include <stdio.h>#include <stdlib.h>#define ARR_MAX 6static int temp[ARR_MAX];bool temp2[ARR_MAX];void reset(){ \/\/ 初始化静态区变量 temp与temp2 for (int i=0;i<ARR_MAX;i++){ temp[i]=1; temp2[i]=true;...
C语言中如何判断一个数组中有几个不相同的数
void main() { int a[N],i,j,b,n;for ( i=0;i<N;i++ ) scanf("%d",&a[i]);for ( i=1,n=1;i<N;i++ ) { for ( j=0,b=0;j
编程:有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折...
{ int n[15] = {99, 97, 87, 76, 65, 63, 59, 58, 51, 43, 32, 31, 28, 15, 6};int num, low, high, mid;for (low=0, high=14, printf("Please enter number: "), scanf("%d", &num); low<=high;){ mid=(low+high)\/2;if (num>n[mid]) high=mid-1;else ...
C语言怎么判断二维数组中每一行的奇偶数个数,程序运行后直接输入奇偶...
include<stdio.h>void main(){ int a[][] ={ {1,2,3,4,5}, {2,2,2,2,2}, {3,3,3,3,3} }; int row, i; int odd=0, even=0; printf("请输入行的序号[0~2]: "); scanf("%d", &row); if((row<0) ||(row>=3)) { printf("行序号超...
C语言中如何循环取数组中的值,比如数组中有10个数,从第一个取到第十个...
用for循环或者while循环呀,然后用数组的长度作为循环跳出的判断条件。根据楼主的需求,只要到达数组末尾的时候,不跳出循环,而改为初始化为0就可以了
c语言中如何判断一个正整数是否只由同一个数组成?
只要把这个数的每一位数字分离出来的,并且保存到一个数组中,对相应的数值出现的次数进行统计次数。到分离完成的时候统计,出现次数大于零的数有几个就可以了。
C语言中判断一个数组是不是全是一个值有没有现成的函数?
没有什么现成的函数, 比较应用不是太广泛.最快捷的方法,其实就是逐个比较.新开数组 memset加memcmp 其实并不会节省时间,比较做了两次操作.
C语言基本题 图中第20题 循环语句中,判断数组元素是否为空,为什么可 ...
1、为什么可以用!0表示,第一个数不就是0吗?数组第一个不是数,是字符,c语言中字符是按整数储存的,一个字符对应一个整数,就是ASCII码。字符'0'的ASCII码为48,字符数组都有结束符'\\0',它跟NULL是类似的,ASCII码为0,所以可以用s[i]!=0来判断数组是否结束了 2、 a=1 和 b=‘1’...
c语言编程题 :判断一个数是不是完数
C语言程序如下:include "stdio.h"int main(){ int n,i,sum=0;\/\/定义一个存放因子和的变量,以及需要判断的数n,和循环条件用到的i printf("请输入需要判断的数:");scanf("%d",&n);\/\/存放需要判断的数n for(i=1;i<n;i++)\/\/循环条件找出因子并累加 { if(n%i==0)sum+=i;} if...
(C语言)关于统计一行数字字符中每个数字字符出现的次数。
='\\n') { \/\/你前面的indata就已经读入数据到s中了,这里只应该从s中读取并比较它是不是\\0就可以了,而不应该是getchar if(ch>='0'&&ch<='9') num[ch-'0']+=1; }}另外一个很重要的错误,你的num数组在使用前也并未初始化,会导至num中的数字也全部是随机的修改如下 incl...