C语言程序设计电子课件源代码参考答案05单元5 构造类型程序设计数组.docx
《C语言程序设计电子课件源代码参考答案05单元5 构造类型程序设计数组.docx》由会员分享,可在线阅读,更多相关《C语言程序设计电子课件源代码参考答案05单元5 构造类型程序设计数组.docx(21页珍藏版)》请在冰豆网上搜索。
C语言程序设计电子课件源代码参考答案05单元5构造类型程序设计数组
单元5构造类型程序设计——数组
源代码
C010********
1.源代码编号
C010********
2.源代码来源
单元5构造类型程序设计——数组
例5-1
3.问题描述
输出数组中所有元素的值。
4.程序代码
#include
#defineN5//数组大小
voidshow(intarray_b[N])
{
inti;
for(i=0;i{
printf("%4d",array_b[i]);
}
printf("\n");
}
intmain()
{
intarray_a[N]={55,44,33,22,11};
show(array_a);
return0;
}
C010********
1.源代码编号
C010********
2.源代码来源
单元5构造类型程序设计——数组
例5-2
3.问题描述
从键盘输入10个整型数据,找出其中的最小值并输出。
4.程序代码
#include
#defineN10//数组大小
voidinput(intarray_b[N])
{/*输入10个整型数据*/
inti;
printf("请输入%d个整数:
",N);
for(i=0;i{
scanf("%d",&array_b[i]);
}
}
intmin(intarray_b[N])
{/*找出最小值*/
inti,minnum;
minnum=array_b[0];
for(i=1;i{
if(array_b[i]minnum=array_b[i];
}
returnminnum;
}
intmain()
{
intarray_a[N],minnum;
input(array_a);
minnum=min(array_a);
printf("minnum=%d\n",minnum);
return0;
}
C010********
1.源代码编号
C010********
2.源代码来源
单元5构造类型程序设计——数组
例5-3
3.问题描述
从键盘输入10个整型数据,按升序重新存放后输出。
4.程序代码
#include
#defineN10
voidinput(inttb[N])
{//输入函数
inti;
printf("请输入%d个整数:
\n",N);
for(i=0;i{
scanf("%d",&tb[i]);
}
}
voidBubble_Sort(inttb[N])
{//冒泡排序函数
inti,j;
intt;
for(i=0;i{
for(j=0;j{
if(tb[j]>tb[j+1])//若不符合排序要求则交换
{
t=tb[j];
tb[j]=tb[j+1];
tb[j+1]=t;
}
}
}
}
voidPrint(inttb[N])
{//输出函数
inti;
for(i=0;i{
if(i%10==0)
printf("\n");
printf("%6d",tb[i]);
}
printf("\n");
}
intmain()
{
inttb[N];
input(tb);
printf("排序前:
");
Print(tb);
Bubble_Sort(tb);
printf("排序后:
");
Print(tb);
return0;
}
C010********
1.源代码编号
C010********
2.源代码来源
单元5构造类型程序设计——数组
例5-4
3.问题描述
找出二维数组所有元素中的最大值。
4.程序代码
#include
#defineN3
#defineM4
intmax(intarray[N][M])
{
intm;
inti,j;
m=array[0][0];//假设第一行第一列的元素为最大值
for(i=0;i{
for(j=0;j{
if(m{
m=array[i][j];
}
}
}
returnm;
}
intmain()
{
intarray[N][M]={11,9,45,4,54,1,32,8,91,2,7,12};
intmaxnum;
maxnum=max(array);
printf("%4d\n",maxnum);
return0;
}
C010********
1.源代码编号
C010********
2.源代码来源
单元5构造类型程序设计——数组
例5-5
3.问题描述
从键盘上输入两个字符串,将它们交换后输出。
4.程序代码
#include
#include
#defineN81
voidswapstr(charstr1[],charstr2[])
{
charch[N];
strcpy(ch,str1);
strcpy(str1,str2);
strcpy(str2,ch);
}
intmain()
{
charch1[N],ch2[N];
printf("请输入一个字符串:
");
scanf("%s",ch1);
printf("请输入另一个字符串:
");
scanf("%s",ch2);
swapstr(ch1,ch2);
printf("交换后的两个字符串分别为:
");
printf("\n%s\n%s\n",ch1,ch2);
return0;
}
C010********
1.源代码编号
C010********
2.源代码来源
单元5构造类型程序设计——数组
课堂实践5-1
3.问题描述
编写程序,使例5-1的数组array_a中大于30的数组元素加10,并在屏幕上输出修改后的数组。
4.程序代码
#include
voidadd10(intarray_a[])
{
inti;
for(i=0;i<10;i++)
{
if(array_a[i]>30)
{
array_a[i]+=10;
}
}
}
intmain()
{
intarray_a[10]={12,3,-3,34,6,13,47,45,764,0};
inti;
printf("修改前:
\n");
for(i=0;i<10;i++)
{
printf("%d",array_a[i]);
}
printf("\n");
add10(array_a);
printf("修改前:
\n");
for(i=0;i<10;i++)
{
printf("%d",array_a[i]);
}
printf("\n");
return0;
}
C010********
1.源代码编号
C010********
2.源代码来源
单元5构造类型程序设计——数组
课堂实践5-2
3.问题描述
从键盘输入10个整型数据,找出最大值和最大值的下标并输出。
4.程序代码
#include
#defineN10
voidmax_maxi(intarray_a[])
{
inti;
intmax,max_i;
max=array_a[0];
max_i=0;
for(i=1;i{
if(array_a[i]>max)
{
max=array_a[i];
max_i=i;
}
}
printf("最大值为:
%d,最大值的下标为:
%d",max,max_i);
}
intmain()
{
intarray_a[N];
inti;
printf("请输入10个整形数据:
");
for(i=0;i{
scanf("%d",&array_a[i]);
}
max_maxi(array_a);
return0;
}
C010********
1.源代码编号
C010********
2.源代码来源
单元5构造类型程序设计——数组
课堂实践5-3
3.问题描述
把上面的冒泡算法由升序改为降序。
4.程序代码
#include
#defineN10
voidinput(inttb[N])
{//输入函数
inti;
printf("请输入%d个整数:
\n",N);
for(i=0;i{
scanf("%d",&tb[i]);
}
}
voidBubble_Sort(inttb[N])
{//冒泡排序函数
inti,j;
intt;
for(i=0;i{
for(j=0;j{
if(tb[j]{
t=tb[j];
tb[j]=tb[j+1];
tb[j+1]=t;
}
}
}
}
voidPrint(inttb[N])
{//输出函数
inti;
for(i=0;i{
if(i%10==0)
printf("\n");
printf("%6d",tb[i]);
}
printf("\n");
}
intmain()
{
inttb[N];
input(tb);
printf("排序前:
");
Print(tb);
Bubble_Sort(tb);
printf("排序后:
");
Print(tb);
return0;
}
C010********
1.源代码编号
C010********
2.源代码来源
单元5构造类型程序设计——数组
课堂实践5-4
3.问题描述
输出例5-4二维数组中所有元素的平均值。
4.程序代码
#include
#defineN3
#defineM4
floataverage(intarray[][M])
{
inti,j;
intsum=0;
for(i=0;i{
for(j=0;j{
sum+=array[i][j];
}
}
return(float)sum/(N*M);
}
intmain()
{
intarray[N][M]={{1,