c语言编程有关数组的几道例题Word格式文档下载.docx
- 文档编号:16692558
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:9
- 大小:16.58KB
c语言编程有关数组的几道例题Word格式文档下载.docx
《c语言编程有关数组的几道例题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言编程有关数组的几道例题Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
,&
n);
Entera[%d]:
n);
for(i=0;
i<
n;
i++)
&
a[i]);
bubble(a,n);
printf("
Aftersorted,a[%d]="
for(i=0;
%3d"
a[i]);
return0;
}
voidbubble(inta[],intn)/*n是数组a中待排序元素的数量*/
inti,j;
for(i=1;
i++)/*外部循环---请问这个嵌套循环怎么理解*/
for(j=0;
j<
n-i;
j++)/*内部循环---请问这个嵌套循环怎么理解*/
if(a[j]>
a[j+1])
swap2(&
a[j],&
a[j+1]);
/*交换*/
voidswap2(int*px,int*py)
{
intt;
t=*px;
*px=*py;
*py=t;
单向冒泡排序法:
//输入10个整数,按从大到小输出//
voidmain()
inti,j,t,a[10];
请输入10个整数\n"
10;
scanf("
for(j=1;
j++)//10个数要来回做(10-1)趟次//
for(i=1;
11-j;
i++)//第j趟要做(10-j)次比较//
if(a[i]>
a[i-1])//每做完一趟,就会将数组中较小的一个数沉淀下来,较大的数不断往上冒//
{t=a[i];
a[i]=a[i-1];
a[i-1]=t;
按从大到小排序输出结果是:
\n"
%-3d"
双向冒泡排序法:
inti,j,t,k,a[10];
{for(i=1;
i++)//第j趟要做(10-j)次比较,双向冒泡法,是先从上至下两两比较一次//
if(a[i]>
{t=a[i];
for(k=i-1;
k>
0;
k--)//与单向冒泡不同的是,这是双向冒泡的关键,每一次从顶至下比较完一次后,同时再从下//
if(a[k]>
a[k-1])//至上比较一次,也就是说每一趟数组中的元素两两比较了两次,这就是双向冒泡排序了//
{t=a[k];
a[k]=a[k-1];
a[k-1]=t;
}
$
(2)输入N个整数,使用改进的冒泡排序,将数据由大到小输出。
2、*******输入N-1个整数组成一数列,再输入某数x,先将数列排序,根据x的值插入到有序数列中。
main()
{
voidRank(intN,intn[]);
inti,j,k;
intn[11];
请输入10个整数:
i++)
n[i]);
Rank(10,n);
//调用函数对输入的数组排序
\n请输入需要插入的整数:
k);
if(k>
n[9])
n[10]=k;
else
n[i]<
=k;
i++);
for(j=9;
j>
=i;
j--)
n[j+1]=n[j];
//腾出位置,用以插入所输入的数
n[i]=k;
}
\n排序后此数列按升序排列为:
=10;
%-4d"
n[i]);
voidRank(intN,intn[])
inti,k,iTemp;
for(k=1;
k<
=N-1;
k++)
for(i=N-1;
i>
i--)
if(n[i-1]>
n[i])
iTemp=n[i];
n[i]=n[i-1];
n[i-1]=iTemp;
排序后此数列按升序排列为:
3、输入行数n,打印出杨辉三角。
#include<
intmain(){intyh[101][101]={{},{0,1}},i,n,m;
m);
/*输入要打印的行数,,,不能太大。
。
我水平不高。
*/for(i=2;
=m;
i++){yh[i][1]=yh[i][i]=1;
for(n=2;
n<
i;
n++){yh[i][n]=yh[i-1][n-1]+yh[i-1][n];
}}for(i=1;
i++){for(n=1;
n++){printf("
%d"
yh[i][n]);
}printf("
}return0;
main()
{inta[8][8],i,j;
8;
{for(j=0;
j++)
if(j==0)
a[i][j]=1;
elseif(i==j)
elseif(i>
j&
&
=1)
a[i][j]=a[i-1][j]+a[i-1][j-1];
a[i][j]=0;
{for(j=0;
j++)
a[i][j]);
4、青年歌手参加歌曲大奖赛计分系统
(1)有N个评委进行打分,求这位选手的平均得分(去掉一个最高分和一个最低分)。
voidbubble_sort(inta[],intn)
inti,j,itmp;
for(i=0;
i<
{
for(j=i+1;
if(a[i]>
=a[j])
itmp=a[j];
a[j]=a[i];
a[i]=itmp;
}
intmain(intargc,char**argv)
intiguide[10]={0};
srand((unsigned)time(NULL));
for(inti=0;
8;
intisum=0;
for(intj=0;
j<
10;
j++)
iguide[j]=rand()%10+1;
bubble_sort(iguide,10);
for(intl=1;
l<
=8;
l++)
isum+=iguide[l];
Theavgscorethe%dsingergetis%d\n"
i+1,isum/8);
return0;
$
(2)有N个评委进行打分,求M个选手每个人的平均得分(去掉一个最高分和一个最低分),并按平均得分由高到低排序输出。
#5、输入N个整数,使用选择排序,将数据由大到小输出。
.5f出大于m并且紧随m的n个素数,并存入数组中,输出,m和n从键盘输入。
4.将一个数组中的值按逆序重新存放。
inta[5],i,temp;
/*定义数组及变量为基本整型*/
pleaseinputarraya:
for(i=0;
i<
5;
i++)/*逐个输入数组元素*/
arraya:
i++)/*将数组中的元素逐个输出*/
a[i]);
2;
i++)/*将数组中元素的前后位置互换*/
temp=a[i];
/*元素位置互换的过程借助中间变量temp*/
a[i]=a[4-i];
a[4-i]=temp;
Nowarraya:
i++)/*将转换后的数组再次输出*/
三、源程序
四、程序结果
五、总结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 有关 数组 例题