151_13
来源:互联网 发布:上海哥瑞利软件 编辑:程序博客网 时间:2024/06/04 08:45
//创建两个8元素的double数组,使用一个循环来让用户键入第一个数组的8个元素的值。
//程序把第二个数组的元素设置为第一个数组元素的累积和。
//使用一个循环来显示两个数组中的内容。
#include <stdio.h>
#define SIZE 8
int main (void)
{
int i;
double arr1[SIZE];
double arr2[SIZE];
//完成第一个数组的输入
for (i=0;i<SIZE;i++)
{
printf("please enter a number:");
scanf("%lf",&arr1[i]);
}
//完成第二个数组的元素设置
arr2[0]=arr1[0];
for (i=1;i<SIZE;i++)
arr2[i]=arr2[i-1]+arr1[i];
//输出第一个数组的内容
for (i=0;i<SIZE;i++)
{
printf("%8.2lf",arr1[i]);
}
printf("/n");
//输出第二个数组的内容
for (i=0;i<SIZE;i++)
{
printf("%
}
printf("/n");
return 0;
}
对于该程序,有两个问题:(一个已解决,一个未解决)
1、关于double数据类型的说明符:是%lf而不是%f(我以前一直都以为是后者)。Scanf()是根据语句中给出的转义字符来对输入的内容进行转换的。用%f,已经把它说成是float型的,而却把输入的数据放到double类型里。它们的字节长度是不一样的,就会出现剩余字节没有数了,所以造成程序运行结果相当紊乱。而在输出时仍然可以写%f(在不影响精度的情况下),因为输出时会把double截断成float型,所以最好还是使用%lf。
2、关于题目中要求用一个循环输出两个数组的内容。我想了很久,不知道怎么弄。难道是题目理解错了?
- 151_13
- 工作总结_13
- 4_13
- [C++_13]异常
- 12_13总结
- 安卓基础_13
- Java学习笔记_13
- Qt笔记_13
- JAVA知识_13
- 黑马程序员_13 打印菱形
- 黑马程序员_13集合框架
- 迪米特法则(设计模式_13)
- [Leetcode]_13 Roman to Integer
- 设计模式_13:适配器模式
- 总结系列_13(Qt使用总结,续...)
- 《C++程序设计语言》6.6_13 字符串的拼接
- opencv学习_13 (trajkovic 角点检测)
- 黑马程序员_Java基础_字符串_13
- 全国哀悼~通过CSS滤镜把网站页面变成黑白样式!
- 亲爱的宝贝,如果你活着,记得我爱你
- VC的类型推导问题
- 2级联动实现方式(ajax)
- EL表达式
- 151_13
- intel芯片组命名
- SaaS
- 简易网络爬虫程序的开发(5)(c#版)
- 未经证实的消息(放在这里以做记录)
- SQL 删除重复记录,同时统计重复记录某一列的数据 以及 SET XACT_ABORT
- 页面缓存的代码实现
- SOA
- linux Web服务器--Boa实验笔记