1,数组转置问题
,
(1),代码如下:
# includevoid arrayRev (int *, int 数); void printT (int *, int 数); void printT (int *, int 计数){ ,,,int 我; ,,,(小姐:=,0;,小姐:& lt;,计数;,我+ +){ ,,,,,,,printf (" % d ",[我]); ,,,},,, } void arrayRev (int *, int 计数){ ,,,int low =, 0; ,,,int high =,把1; ,,,int tmp; ,,,,(low & lt;,高){ ,,,,,,,tmp =,(低); ,,,,,,,一个(低),=,(高); ,,,,,,,一个(高),=,tmp; ,,,,,,,低+ +; ,,,,,,,,, ,,,},,, } int 主要(void) { ,,,int 一个[],=,{1,4,,2,,6,8,9,11日,43岁,12岁,55岁的}; ,,,int 兰; ,,,len =, sizeof (a)/sizeof ([0]); ,,,printf("转置前:\ n”); ,,,printT (a, len); ,,,arrayRev (a, len); ,,,printf (" \ n转置后:\ n”); ,,,printT (a, len); ,,,printf (" \ n "); ,,,return 0; }
(2),运行结果:
2,寻找一个数组中的第二大数字
,无序数组中的一堆数字,寻找第二个大的数字?
<强> 强>
(1),代码如下:
# includeint secondMax (int *, int len); void printT (int *, int 数); void printT (int *, int 计数){ ,,,int 我; ,,,(小姐:=,0;,小姐:& lt;,计数;,我+ +){ ,,,,,,,printf (" % d ",[我]); ,,,} ,,,printf (" \ n "); } int secondMax (int *, int len) { ,,,int max =,一个[0],祝辞,[1],?,一个[0],:,[1]; ,,,int second =,一个[0],祝辞,[1],?,一个[1],:,[0]; ,,,int 我; ,,,(小姐:=,2,,小姐:& lt;, len;,我+ +){ ,,,,,,,如果(一个[我],祝辞,max) { ,,,,,,,,,,,second =, max; ,,,,,,,,,,,max =,(我); ,,,,,,,}else 如果(一个[我],祝辞,秒){ ,,,,,,,,,,,second =,(我); ,,,,,,,其他}{ ,,,,,,,,,,,,,,, ,,,,,,,},,, ,,,} ,,,return 第二; } int 主要(void) { ,,,int 一个[],=,{44岁,4日,66年,6日,8日,33岁,22岁,,2,,55岁,,1}; ,,,int len =, sizeof (a)/sizeof ([0]); ,,,int num; ,,,num =, secondMax (a, len); ,,,printT (a, len); ,,,printf (" % d \ n ",, num); ,,,return 0; }
(2),运行结果: