1. 将5个数21、32、35、18、40存放于一个数组中,求出这5个数的和及平均值。
代码如下:
//1. 将5个数21、32、35、18、40存放于一个数组中,求出这5个数的和及平均值。
#include<stdio.h>
void main() {
int a[5] = { 21,32,35,18,40 };
int sum = 0;
float ave;
sum = a[0] + a[1] + a[2] + a[3] + a[4];
ave = sum / 5.0;
printf("这五个数%s的和为:%d,平均值为:%0.2f",a,sum, ave);
}
程序运行结果:
如果写成sum/5,会导致结果不准确,运行图如下:
Sum/5.0,运行结果如下所示:
做个小小的测试可知:
在c语言中,在计算时,浮点型和整型相计算时,整型变量首先被转换为浮点类型,然后执行除的操作,结果为浮点类型。否则,尽管两个整型数据计算结果有小数,那么计算机也会直接进行舍弃小数位直接变成整数,尽管后面依旧按照%f打印,但是此时的数值已经取整过了。
2. 输入n(n≤100)个数存入数组中,求出这n个数的最大值和最小值。
代码如下:
#include<stdio.h>
void main() {
//2. 输入n(n≤100)个数存入数组中,求出这n个数的最大值和最小值。
float max = 0, min = 0;
int n = 0;
int k = 0;
printf("请输入个数n(n<=100):\n");
scanf_s("%d", &n);
if (n <= 100)
{
for (int i = 1; i <= n; i++)
{
float s[100];
float a = 0;
printf("请输入第%d个数值:", i);
scanf_s("%f", &a);
s[k] = a;
if (k == 0)
{
max = min = s[k];
}
else
{
if (max < s[k])
{