数组
2.编程实现:计算并输出给定数组(长度为9)中每相邻两个元素的平均值的平方根之和。例如,9个元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0 、3.0、11.0,则输出结果应为S=35.951014
要求:不能使用指针和新定义函数 #include <stdio.h>
#include <math.h>
int main(void)
{
double d = {12.0 , 34.0 , 4.0 , 23.0 , 34.0 , 45.0 , 18.0 , 3.0 , 11.0} , s ;
int i ;
for(s = 0.0 , i = 0 ; i < 8 ; i ++) s = s + sqrt((d + d) / 2.0) ;
printf("%lf\n" , s) ;
}
编译、运行实况
D:\00.Excise\C>g++ -o x x.c
D:\00.Excise\C>x
35.951014
D:\00.Excise\C> jackz007 发表于 2020-11-18 19:41
编译、运行实况
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
#define n 9
int main(void)
{
double d , s;
int i;
printf("请输入9个数:");
for (i = 0; i <= n; i++)
{
scanf("%lf", &d);
}
for (s = 0.0, i = 0; i < 8; i++)
s = s + sqrt((d + d) / 2.0);
printf("%lf\n", s);
}
这是根据您给的代码改的,请问为什么在调试界面输入9个数之后按回车一直换行? 狂想曲丶 发表于 2020-11-18 20:27
#define _CRT_SECURE_NO_WARNINGS 1
#include
#include
#define n 9
. . . . . .
double d , s;
. . . . . .
for (i = 0; i <= n; i++)// i 的变换范围是 0 ~ 9,i = 9 时,d 会下标越界
所以,应该这么修改
for (i = 0; i < n ; i ++)
页:
[1]