数组专题Word文档下载推荐.docx
- 文档编号:20378584
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:16
- 大小:17.50KB
数组专题Word文档下载推荐.docx
《数组专题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数组专题Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
}
运行结果:
1
2
3
4
5
6
7
8
9
10
12345678910
10987654321
/***例5.2顺序查找一个学生的年龄***/
stdlib.h>
inti,aAge;
intstudent_age[]={10,11,12,13,14,15,16,17,18,19};
/*定义数组并实现部分初始化*/
请输入要查找的年龄:
scanf("
aAge);
10;
if(student_age[i]==aAge)
{
printf("
第%d位学生的年龄是%d\n\n"
i+1,student_age[i]);
exit(0);
找不到这个年龄的学生\n\n"
一次运行结果:
20
找不到这个年龄的学生
另一次运行结果:
15
第6位学生的年龄是15
/***例5.3对排序数列进行折半查找***/
#defineN19
inta[N]={2,5,6,7,8,13,15,17,19,21,23,25,26,27,28,35,41,52,63};
inttop=0,mid,bot=N-1,x;
请输入要找的元素:
x);
\n"
for(;
top<
=bot;
)
mid=(top+bot)/2;
if(x==a[mid])
{
找到的元素%d是:
a[%d]\n\n"
x,mid);
exit(0);
}
elseif(x>
a[mid])
top=mid+1;
else
bot=mid-1;
没有找到该元素\n\n"
63
找到的元素63是:
a[18]
二次运行结果:
26
找到的元素26是:
a[12]
三次运行结果:
没有找到该元素
/***例5.4冒泡排序法***/
#defineN8
inta[N]={9,8,3,7,5,2,6,1};
inti,j,temp;
/*冒泡排序*/
for(j=1;
j<
=N-1;
j++)/*N-1轮比较与交换*/
N-j;
i++)
if(a[i]>
a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
/*输出结果*/
排序结果:
N;
%3d"
a[i]);
12356789
/***例5.4函数对数组进行操作(冒泡排序)***/
voiddisp();
voidbubbleSort();
staticinta[N]={9,8,3,7,5,2,6,1};
bubbleSort();
disp();
/*冒泡排序函数*/
voidbubbleSort()
{
/*输出函数*/
voiddisp()
/***例5.4向函数的形参传递数组名(冒泡排序)***/
voiddisp(int[]);
/*函数声明中可以没有参数名和数组大小*/
voidbubbleSort(intd[N]);
/*函数声明中也可以有参数名和数组大小*/
intx[N]={9,8,3,7,5,2,6,1};
bubbleSort(x);
/*用数组名作为实参*/
disp(x);
voidbubbleSort(inta[N])/*函数定义中可以写出数组大小*/
voiddisp(intc[])/*函数定义中可以不写出数组大小*/
c[i]);
/***例5.5分析下面程序的执行结果***/
#defineN20
charstr1[N],str2[N],str3[N];
%3s%5s%7s"
str1,str2,str3);
str1=%s,str2=%s,str3=%s\n\n"
%s%s%s"
abcdefghijklmnopqrs
str1=abc,str2=defgh,str3=ijklmno
tuvwxyz
str1=pqrs,str2=abcdefghijklmnopqrs,str3=tuvwxyz
/***例5.6用gets()和puts()函数进行输入/输出***/
#defineN13
charstr[N];
请输入一个字符串:
gets(str);
puts(str);
Computer&
C
/***例5.7输出字符数组首元素的地址***/
gets的返回值为:
%d\n"
gets(str));
puts的返回值为:
puts(str));
1245040
/***例5.8字符串函数的简单应用***/
string.h>
//字符串处理函数的头文件
#defineN120
#defineN28
charc;
charstr1[N1]="
abcdefg"
str2[N2]="
hijklm"
;
//定义并初始化两个字符串
str1=%s,str2=%s\n"
str1,str2);
//输出两个字符串初始值
strcat的返回值:
%ld\n"
strcat(str1,str2));
//将str2连接到str1之后
连接后的str1=%s\n"
str1);
请输入要查找的字符:
%c"
c);
strchr的返回值:
strchr(str1,c));
//在str1中查找字符
strlen的返回值:
strlen(str1));
//求字符串str1的长度
str1=abcdefg,str2=hijklm
1245032
连接后的str1=abcdefghijklm
d
1245035
13
/***例5.9输入5个字符串并输出最小者***/
#defineN10
charstr[N],min[N];
先输入第1个字符串:
gets(min);
//先输入一个字符串到min中
for(i=2;
=5;
i++)//输入后面第2~5个字符串
输入第%d个字符串:
i);
gets(str);
if(strcmp(min,str)>
0)
strcpy(min,str);
//总把最小的字符串放到min中
最小的字符串是:
%s\n\n"
min);
China
输入第2个字符串:
U.S.A
输入第3个字符串:
Canada
输入第4个字符串:
Korea
输入第5个字符串:
Japan
/***例5.10计算字符串长度***/
#defineN100
intstrlenth(chars[]);
chara[N];
%s"
a);
此字符串的长度为%d\n\n"
strlenth(a));
intstrlenth(chars[])
inti=0,len=0;
while(s[i++])
len++;
returnlen;
abc
此字符串的长度为3
/***例5.11字符串复制***/
voidstrcopy(chardest[],charsrc[]);
chara[N],b[N];
请为数组b输入一个字符串:
b);
strcopy(a,b);
a=%s\n\n"
voidstrcopy(chardest[],charsrc[])
inti=0,j=0;
while((dest[i++]=src[j++])!
='
\0'
a=abc
/***例5.12成绩分析***/
#defineSTDNUM4
#defineCOURNUM3
voidStudAveScore(doublea[][COURNUM]);
voidCourAveScore(doubleb[][COURNUM]);
doublescore[STDNUM][COURNUM]={{89,78,56},{88,99,100},{72,80,61},{60,70,75}};
StudAveScore(score);
//传送实际数组名
CourAveScore(score);
voidStudAveScore(doublea[][COURNUM])
introw,col;
doubleSumScreCour;
for(row=0;
row<
STDNUM;
row++)
SumScreCour=0;
for(col=0;
col<
COURNUM;
col++)
SumScreCour+=a[row][col];
学生%d的平均成绩是:
%f\n"
row+1,SumScreCour/COURNUM);
voidCourAveScore(doubleb[][COURNUM])
for(col=0;
for(row=0;
SumScreCour+=b[row][col];
\n课程%d的平均成绩是:
%f"
col+1,SumScreCour/STDNUM);
学生1的平均成绩是:
74.333333
学生2的平均成绩是:
95.666667
学生3的平均成绩是:
71.000000
学生4的平均成绩是:
68.333333
课程1的平均成绩是:
77.250000
课程2的平均成绩是:
81.750000
课程3的平均成绩是:
73.000000
/***例5.13向一个三位数组输入值幷输出此数组的全部元素***/
#defineN12
#defineN23
#defineN32
inti,j,k,a[N1][N2][N3];
/*输入数据*/
请输入12个数:
N1;
for(j=0;
N2;
j++)
for(k=0;
k<
N3;
k++)
scanf("
a[i][j][k]);
/*输出数据*/
printf("
\na[%d][%d][%d]==>
i,j,k,a[i][j][k]);
11
12
a[0][0][0]==>
a[0][0][1]==>
a[0][1][0]==>
a[0][1][1]==>
a[0][2][0]==>
a[0][2][1]==>
a[1][0][0]==>
a[1][0][1]==>
a[1][1][0]==>
a[1][1][1]==>
a[1][2][0]==>
a[1][2][1]==>
12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 专题