62.使用for循环输出数组
(1)代码
# if 0
# include <stdio.h>
# include <windows.h>
int main ( )
{
int array[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 } ;
int loop;
for ( loop = 0 ; loop < 10 ; loop++ )
printf ( "%d " , array[ loop] ) ;
printf ( "\n" ) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
63.使用 for 循环逆向输出数组
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int array[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 } ;
int loop;
for ( loop = 9 ; loop >= 0 ; loop-- )
printf ( "%d " , array[ loop] ) ;
printf ( "\n" ) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
64.计算数组元素之和:使用 for 循环迭代出输出数组元素,并将各个元素相加。
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int array[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 } ;
int sum, loop;
sum = 0 ;
for ( loop = 9 ; loop >= 0 ; loop-- )
{
sum = sum + array[ loop] ;
}
printf ( "元素和为:%d\n" , sum) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
65.给定数组,计算数组元素平均值:使用 for 循环迭代出输出元素,并将各个元素相加算出总和,再除于元素个数.
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int array[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 } ;
int sum, loop;
float avg = 0 ;
sum = 0 ;
for ( loop = 0 ; loop < 10 ; loop++ )
{
sum = sum + array[ loop] ;
}
avg = ( float ) sum / loop;
printf ( "平均值为 %.2f\n" , avg) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
66.用户自定义输入数组,计算数组元素的平均值
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int n, i;
float num[ 100 ] , sum = 0.0 , average;
printf ( "输入元素个数: " ) ;
scanf ( "%d" , & n) ;
while ( n > 100 || n <= 0 )
{
printf ( "Error! 数字需要在1 到 100 之间。\n" ) ;
printf ( "再次输入: " ) ;
scanf ( "%d" , & n) ;
}
for ( i = 0 ; i < n; ++ i)
{
printf ( "%d. 输入数字: " , i+ 1 ) ;
scanf ( "%f" , & num[ i] ) ;
sum += num[ i] ;
}
average = sum / n;
printf ( "平均值 = %.2f\n" , average) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
67.数组拷贝:将一个数组复制给另外一个数组:
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int original[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 } ;
int copied[ 10 ] ;
int loop;
for ( loop = 0 ; loop < 10 ; loop++ )
{
copied[ loop] = original[ loop] ;
}
printf ( "元素数组 -> 拷贝后的数组 \n" ) ;
for ( loop = 0 ; loop < 10 ; loop++ ) {
printf ( " %2d %2d\n" , original[ loop] , copied[ loop] ) ;
}
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
68.查找数组中最大的元素值
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int array[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 } ;
int loop, largest;
largest = array[ 0 ] ;
for ( loop = 1 ; loop < 10 ; loop++ )
{
if ( largest < array[ loop] )
largest = array[ loop] ;
}
printf ( "最大元素为 %d\n" , largest) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
69.用户自定义输出,查找数组中最大的元素值
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int i, n;
float arr[ 100 ] ;
printf ( "输入元素个数(0~100): " ) ;
scanf ( "%d" , & n) ;
printf ( "\n" ) ;
for ( i = 0 ; i < n; ++ i)
{
printf ( "输入数字 %d: " , i+ 1 ) ;
scanf ( "%f" , & arr[ i] ) ;
}
for ( i = 1 ; i < n; ++ i)
{
if ( arr[ 0 ] < arr[ i] )
arr[ 0 ] = arr[ i] ;
}
printf ( "最大元素为 = %.2f\n" , arr[ 0 ] ) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
70.查找数组中最小的元素
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int array[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 } ;
int loop, smallest;
smallest = array[ 0 ] ;
for ( loop = 1 ; loop < 10 ; loop++ )
{
if ( smallest > array[ loop] )
smallest = array[ loop] ;
}
printf ( "最小元素为 %d\n" , smallest) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
71.计算标准偏差
(1)代码
# if 1
# include <stdio.h>
# include <math.h>
# include <windows.h>
float calculateSD ( float data[ ] ) ;
float calculateSD ( float data[ ] )
{
float sum = 0.0 , mean, standardDeviation = 0.0 ;
int i;
for ( i= 0 ; i< 10 ; ++ i)
{
sum += data[ i] ;
}
mean = sum/ 10 ;
for ( i= 0 ; i< 10 ; ++ i)
standardDeviation += pow ( data[ i] - mean, 2 ) ;
return sqrt ( standardDeviation/ 10 ) ;
}
int main ( )
{
int i;
float data[ 10 ] ;
printf ( "输入10个元素: " ) ;
for ( i= 0 ; i < 10 ; ++ i)
scanf ( "%f" , & data[ i] ) ;
printf ( "\n标准偏差 = %.6f\n" , calculateSD ( data) ) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
72.数组拆分:将一个数组拆分为两个数组,一个为奇数数组,一个为偶数数组.
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int array[ 10 ] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
int even[ 10 ] , odd[ 10 ] ;
int loop, e, d;
e = d = 0 ;
for ( loop = 0 ; loop < 10 ; loop++ )
{
if ( array[ loop] % 2 == 0 )
{
even[ e] = array[ loop] ;
e++ ;
}
else
{
odd[ d] = array[ loop] ;
d++ ;
}
}
printf ( " 原始数组 -> " ) ;
for ( loop = 0 ; loop < 10 ; loop++ )
printf ( " %d" , array[ loop] ) ;
printf ( "\n 偶数 -> " ) ;
for ( loop = 0 ; loop < e; loop++ )
printf ( " %d" , even[ loop] ) ;
printf ( "\n 奇数 -> " ) ;
for ( loop = 0 ; loop < d; loop++ )
printf ( " %d" , odd[ loop] ) ;
printf ( "\n" ) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
73.数组和并:将奇数数组与偶数数组合并为一个数组:
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int array[ 10 ] ;
int even[ 5 ] = { 0 , 2 , 4 , 6 , 8 } ;
int odd[ 5 ] = { 1 , 3 , 5 , 7 , 9 } ;
int loop, index, e_len, o_len;
e_len = o_len = 5 ;
index = 0 ;
for ( loop = 0 ; loop < e_len; loop++ )
{
array[ index] = even[ loop] ;
index++ ;
}
for ( loop = 0 ; loop < o_len; loop++ )
{
array[ index] = odd[ loop] ;
index++ ;
}
printf ( "\n偶数 -> " ) ;
for ( loop = 0 ; loop < e_len; loop++ )
printf ( " %d" , even[ loop] ) ;
printf ( "\n奇数 -> " ) ;
for ( loop = 0 ; loop < o_len; loop++ )
printf ( " %d" , odd[ loop] ) ;
printf ( "\n合并后 -> " ) ;
for ( loop = 0 ; loop < 10 ; loop++ )
printf ( " %d" , array[ loop] ) ;
printf ( "\n" ) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
74.使用指针访问数组元素
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int data[ 5 ] , i;
printf ( "输入元素: " ) ;
for ( i = 0 ; i < 5 ; ++ i)
scanf ( "%d" , data + i) ;
printf ( "你输入的是: \n" ) ;
for ( i = 0 ; i < 5 ; ++ i)
printf ( "%d\n" , * ( data + i) ) ;
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
75.矩阵转换
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int a[ 10 ] [ 10 ] , transpose[ 10 ] [ 10 ] , r, c, i, j;
printf ( "输入矩阵的行与列: " ) ;
scanf ( "%d %d" , & r, & c) ;
printf ( "\n输入矩阵元素:\n" ) ;
for ( i= 0 ; i< r; ++ i)
{
for ( j= 0 ; j< c; ++ j)
{
printf ( "输入元素 a%d%d: " , i+ 1 , j+ 1 ) ;
scanf ( "%d" , & a[ i] [ j] ) ;
}
}
printf ( "\n输入矩阵: \n" ) ;
for ( i= 0 ; i< r; ++ i)
{
for ( j= 0 ; j< c; ++ j)
{
printf ( "%d " , a[ i] [ j] ) ;
if ( j == c- 1 )
printf ( "\n\n" ) ;
}
}
for ( i= 0 ; i< r; ++ i)
{
for ( j= 0 ; j< c; ++ j)
{
transpose[ j] [ i] = a[ i] [ j] ;
}
}
printf ( "\n转换后矩阵:\n" ) ;
for ( i= 0 ; i< c; ++ i) {
for ( j= 0 ; j< r; ++ j)
{
printf ( "%d " , transpose[ i] [ j] ) ;
if ( j== r- 1 )
printf ( "\n\n" ) ;
}
}
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果
76.两个矩阵相加:使用多维数组将两个矩阵相加。
(1)代码
# if 1
# include <stdio.h>
# include <windows.h>
int main ( )
{
int r, c, a[ 100 ] [ 100 ] , b[ 100 ] [ 100 ] , sum[ 100 ] [ 100 ] , i, j;
printf ( "输入行数 ( 1 ~ 100): " ) ;
scanf ( "%d" , & r) ;
printf ( "输入列数 ( 1 ~ 100): " ) ;
scanf ( "%d" , & c) ;
printf ( "\n输入第一维数组的元素:\n" ) ;
for ( i= 0 ; i< r; ++ i)
{
for ( j= 0 ; j< c; ++ j)
{
printf ( "输入元素 a%d%d: " , i+ 1 , j+ 1 ) ;
scanf ( "%d" , & a[ i] [ j] ) ;
}
}
printf ( "输入第二维数组的元素:\n" ) ;
for ( i= 0 ; i< r; ++ i)
{
for ( j= 0 ; j< c; ++ j)
{
printf ( "输入元素 a%d%d: " , i+ 1 , j+ 1 ) ;
scanf ( "%d" , & b[ i] [ j] ) ;
}
}
for ( i= 0 ; i< r; ++ i)
{
for ( j= 0 ; j< c; ++ j)
{
sum[ i] [ j] = a[ i] [ j] + b[ i] [ j] ;
}
}
printf ( "\n二维数组相加结果: \n\n" ) ;
for ( i= 0 ; i< r; ++ i)
{
for ( j= 0 ; j< c; ++ j)
{
printf ( "%d " , sum[ i] [ j] ) ;
if ( j== c- 1 )
{
printf ( "\n\n" ) ;
}
}
}
system ( "pause" ) ;
return 0 ;
}
# endif
(2)运行结果