题目:编写一个程序, 创建两个包含8个元素的double类型数组, 使用循环提示用户为第一个数组输入8 个值。 第二个数组元素的值设置为第一个数组对应元素的累积之和。 例如, 第二个数组的第 4个元素的值是第一个数组前4个元素之和, 第二个数组的第5个元素的值是第一个数组前5个元素之和(用嵌套循环可以完成, 但是利用第二个数组的第5个元素是第二个数组的第4个元素与第一个数组的第5个元素之和, 只用一个循环就能完成任务, 不需要使用嵌套循环) 。 最后, 使用循环显示两个数组的内容, 第一个数组显示成一行, 第二个数组显示在第一个数组的下一行, 而且每个元素都与第一个数组各元素相对应。
低配版:
#include<stdio.h>
int main()
{
int i;
double num1[8];
double num2[8];
printf("Please enter 8 numbers:");
for(i= 0; i<8; i++)
{
scanf("%lf",num1+i);
num2[i] = num2[i-1] + num1[i];
printf("%lf ",num2[i]);
}
return 0;
}
运行结果:
高配版:
#include<stdio.h>
#define SIZE 8
int main()
{
int i;
double num1[SIZE];
double num2[SIZE];
printf("Please enter %d numbers:",SIZE);
for(i= 0; i<SIZE; i++)
{
scanf("%lf",num1+i);
num2[i] = num2[i-1] + num1[i];
printf("%10lf ",num1[i]);
}
printf("\n");
for(i= 0; i<SIZE; i++)
printf("%10lf ",num2[i]);
return 0;
}
运行结果:
以11 12 13 14 15 16 17 18为例
以111 222 333.3 444 555 666 777 888 999为例
备注:自己写的,也可能有问题,大家一起交流呀
相关知识点:
在c语言中它们三个格式说明符都是用来输出实型数据的,它们的区别: %f是以小数的形式输出实型数据,整数部分原样输出,小数点后输出6位小数,%e是以指数的形式输出实型数据,格式为*.**e+/-,%g格式在输出的时候会自动选择前两种格式输出时宽度小的那种格式输出,而且不输出无意义的零。例如printf(%f, %e, %g’,123.45,123.45,123.45);输 出结果: 123.450000, 1.23450e+002, 123.45。
转载自https://wenku.baidu.com/view/7245858aac51f01dc281e53a580216fc700a5327.html
验证:
错误代码记录:
#include<stdio.h>
int main()
{
int i;
double num[8];
// double num_sum[8];
printf("Please enter 8 numbers :");
for(i= 0; i<8; i++)
{
scanf("%lf ",num+i);
printf("%lf ",num[i]);
}
// for(i= 0; i<8; i++)
//
// num2[i]+=num1[i];
// printf("%lf ",num2[i]);
return 0;
}
有空再思考