需要编写数组部分的程序(参考答案)

1、使用选择方法、冒泡方法对10个数字进行排序,并输出排序前后的序列。

//选择方法

#include

Void main()

Int a [10]={12,45,7,8,96,4,10,48,2,46},n=10,I,j,t,temp

printf(' Before sort : ');

for(I=0);I10I))

Printf('M ',a[I]);

}

printf(“\ n”);

//排序

for(I=0);i9;I))

t=I;

for(j=I 1;J10j))

If(a[t]a[j])

t=j;

}

}

If(t)!=i)

temp=a[I];

a[I]=a[t];a[t]=temp;

}

}

printf(' Aftere sorted : ');

for(I=0);I10I))

Printf('M ',a[I]);

}

printf(“\ n”);

}

//气泡法

#include

Void main()

Int a [10]={12,45,7,8,96,4,10,48,2,46},n=10,I,j,t;

printf(“before sort :”);

for(I=0);I10I))

Printf('M ',a[I]);

}

prtintf(“\ n”);

//排序

for(I=0);I=n-1;I))

for(j=0);ja[j 1]){ t=a[j];a[j]=a[j 1];a[j 1]=t;}

}

printf(“aftere sorted :”);

for(I=0);I10I))

Printf('M ',a[I]);

}

prtintf(“\ n”);

}

2,已知数组a的元素按从小到大的顺序排列,下一个程序的功能是将输入的数字之一插入数组a,插入后数组a的元素仍然按从小到大的顺序排列。

#include

Void main()

Int a[10]={0,12,17,20,25,28,30 };/*a[0]是工作单位,从a[1]开始保存数据*/

Int x、I、j=6;/*j表示元素数*/

printf(' Enter a number : ');

scanf(“% d”,x);

a[0]=x;

I=j;/*以最后一个单位开始*/

While(a[i]x)

a[I 1]=a[I];I-;/*将大于x的数字向后移动一个位置*/

}

a[I]=x;

j;/*插入x后元素总数增加*/

for(I=1);I=j;I))

Printf(' ',a[I]);

printf(“\ n”);

}

3,(标题上传)编号为1,2,3,n人顺时针坐在周围。如果报告从1开始顺时针方向从1开始顺时针方向从1开始到m,请选择正整数,最大值为m。申报m的人继续,直到他顺时针从下一个人开始,再从1开始,直到所有人都出来。设计程序输出列顺序。

#include

#define nmax 50

Void main()

Int i,k,m,n,t,num[nmax];

printf(' please input the total of numbers : ');

scanf(“% d”,n);

printf(' please input the upper bound of numbers 3360 ');

scanf(“% d”,m);

for(I=0);I

#include

Void main()

Int i,j,a[6][6];

for(I=0);I=5;I))

a[I][I]=1;

a[I][0]=1;

}

for(I=2;I=5;I))

for(j=1);j=I-1;j))

a[I][j]=a[I-1][j]a[I-1][j-1];

}

}

for(I=0);I=5;I))

for(j=0);j=I;j))

Printf('M ',a[I][j]);

}

printf(“\ n”);

}

}

5、编写将以下数据输入二维数组的程序。

25367813

12268893

75182232

56443658

然后:

输出矩阵的两个对角数;

分别输出行和列的和。

交换第一行和第三行的位置。

交换第二列和第四列的位置。

输出处理安排。

#include

#define SIZE 4

Void main()

Int a [size] [size]={{25,36,78,13},{12,26,88,93},{75,18,22,

Int i、j、t、sum

//汇出2d阵列

printf(' 2d array : \ n ');

for(I=0);I

Void main()

Int a [5] [5]={{5,6,7,8,9},{4,5,6,7,8},{3,4,5,2

Int i、j、col、row、Min、Max

for(I=0);i5;I))

min=a[I][0];col=0;

for(j=0);j5;j))

If(弥那[I] [j])

min=a[I][j];

col=j;

}

}

max=a[0][col];row=0;

for(j=0);j5;j))

If(Max

#define N 5 //表示学生数

#define M 5 //表示课程数

Void main()

Int scores [n] [m]={{78,89,90,76,65},{86,79,98,74,95},{78,}

{92,79,98,74,95},{69,94,85,67,56 } };

Int i、j、sum

//输入学生成绩

/*

for(I=0);I

#include

Void main()

{ char s[100];

Int i、j、n;

Printf('输入字符串:\ n ');

gets(s);

n=strlen(s);

For(i=0,j=n-1;I=j) printf('是回文字符串。\ n ');

Else printf('不是回文字符串。\ n ');

}

写入程序实现,从字符数组s中删除存储在9,c中的字符。

#include

#include

Void main()

{char s[80],c;

Int j,k;

printf(' \ nEnter a string : ');

gets(s);

printf(“\ nEnter a character :”);

c=getchar();

for(j=k=0;S[j]!=\ 0;j))

更多推荐

判断数组函数 c语言程序设计,C语言必背的典型程序设计题目 - 数组、函数-------参考答案...