C语言实例(62~76)
-
- 62.使用for循环输出数组
-
- 63.使用 for 循环逆向输出数组
-
- 64.计算数组元素之和:使用 for 循环迭代出输出数组元素,并将各个元素相加。
-
- 65.给定数组,计算数组元素平均值:使用 for 循环迭代出输出元素,并将各个元素相加算出总和,再除于元素个数.
-
- 66.用户自定义输入数组,计算数组元素的平均值
-
- 67.数组拷贝:将一个数组复制给另外一个数组:
-
- 68.查找数组中最大的元素值
-
- 69.用户自定义输出,查找数组中最大的元素值
-
- 70.查找数组中最小的元素
-
- 71.计算标准偏差
-
- 72.数组拆分:将一个数组拆分为两个数组,一个为奇数数组,一个为偶数数组.
-
- 73.数组和并:将奇数数组与偶数数组合并为一个数组:
-
- 74.使用指针访问数组元素
-
- 75.矩阵转换
-
- 76.两个矩阵相加:使用多维数组将两个矩阵相加。
-
62.使用for循环输出数组
(1)代码
#if 0
#include
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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
#include
#include
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
#include
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
#include
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
#include
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
#include
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
#include
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)运行结果