代码功能
#include <iostream.h>#define N 10
void main()
{
int a;
int s,i,j,t;
for ( i = 0 ; i < N ; i ++ ){
if ( i % 2 )a[ i ] = i * i ;
else a[ i ] = 100 - ( i / 2 ) * ( i / 2 ) ;
}
for ( i = 0 ; i < N ; i ++ )
cout << a[ i ] ;
cout << endl ;
s = 0 ;
for( i = 0 ; i < N ; i ++ )
s = s + a[ i ] ;
cout << “sum of a = ” << s ;
for( i = 0 ; i < N ; i ++ ){
t = a[ i ] ;
j = i - 1 ;
while( j >= 0 && t > a[ j ] ) {
a[ j + 1] = a[ j ] ;
j -- ;
}
a[ j + 1 ] = t ;
}
for( i = 0 ; i < N ; i ++ )
cout << a[ i ] ;
cout << endl ;
} 这段代码的功能是创建一个长度为10的整型数组a,并对数组进行初始化赋值。然后计算数组a中所有元素的和,并输出结果。最后,对数组a进行降序排序,并输出排序后的结果。
代码解析如下:
1. 首先,定义了一个宏N,表示数组a的长度为10。
2. 在main函数中,创建了一个整型数组a。
3. 使用for循环,对数组a进行初始化赋值。当i为奇数时,a[ i]的值为i的平方;当i为偶数时,a[ i]的值为100减去(i/2)的平方。
4. 使用for循环,输出数组a的所有元素。
5. 使用一个变量s,初始化为0,用来保存数组a的所有元素的和。使用for循环,遍历数组a,将每个元素累加到s中。
6. 输出数组a的所有元素的和。
7. 使用插入排序算法对数组a进行降序排序。使用for循环,遍历数组a,将当前元素a[ i]与前面已排序部分的元素进行比较,并将a[ i]插入到正确的位置。
8. 使用for循环,输出排序后的数组a的所有元素。
这段代码的输出结果应该是:
10081816326449648100
sum of a = 550
10010081826449648163
页:
[1]