源程序以及算法注释如下:
#define _CRT_SECURE_NO_WARNINGS//VS编译环境需要进行宏定义,VC60可忽略
#include<stdioh>//输入输出头文件
int main()
{
int number[10], New_number[10];//定义数组的数据类型为整型
int i, j, m, n, k;//定义变量的数据类型为整型
printf("input 10 <int> number:");//文字提示
for (i = 0; i <= 9; i++)//用循环输入数值给数组number并赋给数组New_number
{
scanf("%d", &number[i]);//输入10个整形数字到数组中
New_number[i] = number[i];//数组number元素赋给数组New_number
}
for (n = 0; n <= 8; n++)//要进行(10-1)组比较
for (j = 0; j <= 8 - n; j++)//每组进行(10减第几组)次比较
{
if (number[j] > number[j + 1])//比较大小并将小的赋给前面的数组
{
k = number[j];//将相对较大的元素赋值给中间元素
number[j] = number[j + 1];//将相对较小的元素送达前面一个位置
number[j + 1] = k;//将中间变量元素送给后面一个位置
}
if (New_number[j] < New_number[j + 1])//比较大小并将大的赋给前面的数组
{
k = New_number[j + 1];//将相对较小的元素赋值给中间元素
New_number[j + 1] = New_number[j];//将相对较大的元素送达前面一个位置
New_number[j] = k;//将中间变量元素送给后面一个位置
}
}
printf("min-->max:\n");//文字提示
for (m = 0; m <= 9; m++)//依次从小到大输出
printf("%d ", number[m]);//输出元素
printf("\n");
printf("max-->min:\n");//文字提示
for (m = 0; m <= 9; m++)//依次从大到小输出
printf("%d ", New_number[m]);//输出元素
printf("\n");
return 0;
}
程序运行结果如下:
扩展资料:
其他简单实现程序:
#include<stdioh>
int main()
{
int a[10]={0};
int i,j,temp;
for(i = 0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i = 0;i<10;i++)
{
for(j = 0;j<10-i-1;j++)
{
if(a[j]>a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(i = 0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
int main()
{int mat[3][4];
mat[0][0]=1;
for (int i=1;i<=3;i++){for (int j=1;j<=4;j++)
{printf("请输入数组的第%d行第%d列的元素\n",i,j);
scanf ("%d",&mat[i-1][j-1]);
}
}
printf("这个二维数组是:\n");
for (int m=0;m<3;m++)
{for (int n=0;n<4;n++)
{printf ("%d ",mat[m][n]);
}
printf ("\n");
}
}#include <stdioh>
#include <stdlibh>
#include <timeh>
void showit(int p,int m,int n){
int i,j;
for(i=0;i<m;i++){
for(j=0;j<n;j++)
printf("%3d",p[in+j]);
printf("\n");
}
}
int findmin(int p,int n){
int i,min=p;
for(i=1;i<n;i++)
if (p[i]<min) min=p[i];
return min;
}
int findplace(int p,int n,int x){
int i;
for(i=0;i<n;i++)
if(p[i]==x) return i;
return -1;
}
int main(){
int a[4][5];
int i,j,min,m;
srand((int)time(NULL));
for(i=0;i<4;i++)
for(j=0;j<5;j++)
a[i][j]=rand()%10;
showit((int )a,4,5); //显示数组
min=findmin((int )a,54);//找出最小值
printf("最小值是%d\n",min);
m=findplace((int )a,45,min);//找出最小值是第几个元素
printf("其第一次出现在第%d行第%d列\n",m/5+1,m%5+1);
}
//#include "stdafxh"//vc++60加上这一行
#include "stdioh"
void main(void){
int oldn[20]={1,2,3,4,5,6,7,8,9,10,12,14,16,11,13,15,17,18,19,20};
int newn[2][10]={0,},i,j,k;
for(i=j=k=0;i<20;i++)
if(oldn[i]%2) newn[0][j++]=oldn[i];
else newn[1][k++]=oldn[i];
for(i=0;i<2;i++){//Look at
for(j=0;j<10;j++)
printf("%d ",newn[i][j]);
printf("\n");
}
}
C语言中,同变量一样;数组也必须先定义后使用。
一维数组的定义形式:
类型标识符 数组名[常量表达式];例如int a[10]; 其中a为地址常量。
如变量的定义一样,int a ;double a;float a等;数组的定义只是把后面的变量名改为数组名而已。
int a[10]就是定义了一个数组名为a的数组;此数组有10个元素。其中各元素从a[0]到a[9];并没有a[10]元素。下面列举一个。
扩展资料常量表达式可以包括字面常量和符号常量;但不能包含变量。例如对下面定义是错误的
int n=5
int a[n]
可以修改为
#define N 5
int a[N]
其中对二维及多位数组定义可以类推
int a[x][y][z][]其中 x,y,z为数字。
参考资料百度百科-C语言
以下是用C语言编写的实现方案:
#include <stdioh>
int main() {
int grades[5], total = , i;
printf("请输入5个学生成绩:\n");
for (i = ; i < 5; i++) {
scanf("%d", &grades[i]);
total += grades[i];
}
printf("5个学生的总成绩为:%d\n", total);
return ;
}
程序中首先定义一个长度为5的整型数组grades来存储学生成绩,然后循环5次,使用scanf从键盘输入每个学生的成绩,并将它们累加到变量total中。最后输出total的值,即5个学生的总成绩。
值得注意的是,程序中没有对输入的成绩做任何验证或错误处理,您应该根据实际需要添加相关的逻辑。
以上就是关于编写C语言程序,把一个数组按从小到大的次序排列起来全部的内容,包括:编写C语言程序,把一个数组按从小到大的次序排列起来、数据结构 编一段数组的c语言程序、C语言编程,数组问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)