首页 > 试题广场 >

编写一个程序,创建两个8元素的double数组,使用一个循环

[问答题]

编写一个程序,创建两个8元素的double数组,使用一个循环来让用户键入第一个数组的8个元素的值。程序把第二个数组的元素设置为第一个数组元素的累积和。例如,第二个数组的第4个元素应该等于第一个数组的前4个元素的和,第二个数组的第5个元素应该等于第一个数组的前5个元素的和(使用嵌套循环可以做到这一点。不过利用第二个数组的第5个元素等于第二个数组的第4个元素加上第一个数组的第5个元素这一事实,可以避免嵌套而只使用单个循环来完成这个任务)。最后,使用一个循环来显示两个数组中的内容,第一个数组在一行中显示,而第二个数组中的每个元素在第一个数组的对应元素之下进行显示。

推荐
#include<stdio.h>
int main(void)
{
 double num[8],sum[8];
 int i,j;
 printf("Enter 8 numbers:");
 for(i=0;i<8;i++)
 {
 scanf("%lf",&num[i]);
 for(j=0,sum[i]=0;j<=i;j++)
 sum[i] += num[j];
 }
 for(i=0;i<8;i++)
 printf("%8.3lf",num[i]);
 printf("\n");
 for(i=0;i<8;i++)
 printf("%8.3lf",sum[i]);
 printf("\n");
 return(0);
}

发表于 2018-05-05 21:37:06 回复(1)
// 对楼上代码进行备注
#include<stdio.h>
int main(void)
    {
     double num[8],sum[8];  // 声明和初始化数组
     int i,j;
     printf("Enter 8 numbers:");
     for(i=0;i<8;i++)  // 这个for循环是为了将两个数组的各个位置上填上实际元素内容
     {
         scanf("%lf",&num[i]);
         for(j=0,sum[i]=0;j<=i;j++)
             sum[i] += num[j];
     }
     for(i=0;i<8;i++)   // 这个for循环是为了打印出第一个数组的各个元素
     {
         printf("%8.3lf",num[i]);
     }
         printf("\n"); // 在这里使用换行,以便区分第一个数组和第二个数组
     for(i=0;i<8;i++)   // 这个for循环是为了打印出第二个数组的各个元素
     {
         printf("%8.3lf",sum[i]);
         printf("\n");
     }
     return(0);
}
编辑于 2019-11-28 22:10:54 回复(0)