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("元素和为:%dn", 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("平均值为 %.2fn", 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("平均值 = %.2fn", 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 %2dn", 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++)
{
//数组元素大于最大的数,那就将现在的数赋值给largest
if( largest < array[loop] )
largest = array[loop];
}
printf("最大元素为 %dn", 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]);
}
//循环,并将最大元素存储到 arr[0]
for(i = 1; i < n; ++i)
{
// 如果要查找最小值可以将 < 换成 >
if(arr[0] < arr[i])
arr[0] = arr[i];
}
printf("最大元素为 = %.2fn", 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("最小元素为 %dn", 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标准偏差 = %.6fn", 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("%dn", *(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
for(j=0; j
printf("输入元素 a%d%d: ",i+1, j+1);
scanf("%d", &a[i][j]);
}
}
//显示输入的矩阵 a[][] */
printf("n输入矩阵: n");
for(i=0; i
for(j=0; j
printf("%d ", a[i][j]);
//每行输入完成后换行
if (j == c-1)
printf("nn");
}
}
//转换数组元素
for(i=0; i
for(j=0; j
//i和j交换位置
transpose[j][i] = a[i][j];
}
}
//显示转换后的矩阵a
printf("n转换后矩阵:n");
for(i=0; i
for(j=0; j
printf("%d ",transpose[i][j]);
if(j==r-1)
printf("nn");
}
}
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
for(j=0; j
printf("输入元素 a%d%d: ",i+1,j+1);
scanf("%d",&a[i][j]);
}
}
//获取第二个数组元素
printf("输入第二维数组的元素:n");
for(i=0; i
for(j=0; j
printf("输入元素 a%d%d: ",i+1, j+1);
scanf("%d", &b[i][j]);
}
}
//将两个数组相加
for(i=0;i
for(j=0;j
sum[i][j]=a[i][j]+b[i][j];
}
}
//显示结果
printf("n二维数组相加结果: nn");
for(i=0;i
for(j=0;j
printf("%d ",sum[i][j]);
if(j==c-1)
{
printf("nn");
}
}
}
system("pause");
return 0;
}
#endif
(2)运行结果