(急)小弟刚自学两天,学while,写了一个例子,用MS VC++60编译,报错,请问错在哪里?

xon 2001-12-29 10:14:42


/*计算汽车平均速度的程序*/
#include<stdio.h>
viod main(viod)
{
double begin_miles; /*里程计开始值*/
double end_miles; /*里程计结束值*/
double miles; /*行车路程 */
double hours; /*行车时间小时*/
double minutes; /*行车时间分钟*/
double speed; /*平均速度 */

printf("读取里程计开始的值 ");
scanf("%lg",&begin_miles);
while(begin_miles<0.0)
{
printf("\n读取开始值有误");
scanf("%lg",&begin_miles);
}

printf("读取里程计结束的值 ");
scanf("%lg",&end_miles);
while(end_miles<=begin_miles)
{
printf("\n读取结束值有误 结束值必须大于开始值");
scanf("%lg",&end_miles);
}

printf("读取所用时和分的值 ");
scanf("%lg%lg",&hours,&minutes);
hours=hours+(minutes/60);
while(hours<0.0)
{
printf("\n读取时间值有误");
scanf("%lg %lg",&hours,&minutes);
}

miles=end_miles-begin_miles;
speed=miles/hours;
printf("\n平均速度为 %g\n",speed);

puts("normal termination");
}

...全文
99 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gqlin 2001-12-29
  • 打赏
  • 举报
回复
问题应出在:
while ( begin_miles < 0.0 )
这条语句判断begin_miles小于0不能这样用。而要用下面这条语句:
while ( begin_miles >= -0.00001) && ( begin_miles <= 0.00001)
rhesus 2001-12-29
  • 打赏
  • 举报
回复
首先两个viod都改为void,这不用解释了吧!!
scanf("%lg%lg",&hours,&minutes);最好改为scanf("%lg,%lg",&hours,&minutes);方便输入
bary1980 2001-12-29
  • 打赏
  • 举报
回复
还有printf("读取所用时和分的值 ");
scanf("%lg%lg",&hours,&minutes);//应该改为scanf("%lg %lg",&hours,&minutes);

用一个空格,否则怎么分辨两个同时输入而没有空格的数字哪

bary1980 2001-12-29
  • 打赏
  • 举报
回复
对不起,我没有仔细看,不是while毛病,而是viod应该为void,

但是你要注意,一般c++中不用print,
bary1980 2001-12-29
  • 打赏
  • 举报
回复
大虾,为什么用while,那样可能会死循环的,改用if
已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 MySQL 5.7 数据库的部署及设置MySQL 是一种广受欢迎的开源关系型数据库系统,其应用遍及众多应用程序和系统平台。本文将全面阐释 MySQL 5.7 数据库的安装流程及其配置细节。一、实验目标旨在深入理解数据库的安装方法;熟练掌握运用 MySQL 构建基础表格以及执行数据相关操作;精通数据库的安装过程和实际应用。二、实验流程### MySQL 的安装与配置1. 将 MySQL-5.7.20-winx64 压缩包解压至预定目录,以 D 盘根目录为例进行部署。2. 以管理员权限进入 MySQL 的 bin 目录,通过执行 `mysqld --install mysql` 命令来注册 MySQL 服务。3. 对 MySQL 的 data 目录进行初始化操作:使用 `mysqld --initialize-insecure` 命令,该指令会生成一个初始无密码的 root 用户,便于后续数据库访问。4. 启动 MySQL 服务:采用管理员身份运行 `net start mysql` 命令,以此激活 MySQL 服务。5. 服务成功运行后,需对 root 用户密码进行修改:通过命令 `mysql -uroot -p` 登录 MySQL 数据库,随后执行 `set password for root@localhost = password(设定密码);` 来设定新密码。### 数据库与表的构建1. 数据库的创建:执行 `create database test;` 命令建立数据库,并使用 `use test;` 命令选择当前数据库。2. 表的创建,其结构如下所示:| 别名 | 数...
内容概要:本研究提出了一种基于主成分分析(PCA)的边缘保留特征(EPFs)方法(PCA-EPFs),旨在提升高光谱图像分类的精度与效率。该方法首先利用PCA对高光谱数据进行降维处理,有效减少数据冗余并保留主要光谱信息,随后引入边缘保留特征提取策略,强化图像中关键的地物边界信息,从而在降低计算复杂度的同时显著提升分类性能。文中详细阐述了PCA-EPFs的算法流程,并通过在标准高光谱数据集上的实验验证,证明了该方法在分类准确率和边缘细节保留方面相较于传统方法的优越性,尤其适用于遥感图像分析、环境监测等领域。; 适合人群:具备遥感图像处理、模式识别或机器习基础知识的科研人员、研究生以及从事高光谱图像分析的工程技术人员。; 使用场景及目标:① 在高光谱遥感图像分类任务中,解决因数据维度高导致的“维度灾难”问题;② 在保证分类精度的前提下,有效提取并保留地物边缘特征,提升分类结果的视觉可读性和实用性;③ 为后续的精细化地物识别与变化检测提供高质量的分类图基础。; 阅读建议:在阅读过程中,应重点关注PCA降维与边缘特征提取的融合机制,建议结合Matlab代码实现,复现实验结果,并尝试在不同数据集上调整参数以深入理解算法性能。
内容概要:本研究聚焦于热电联产系统的经济调度问题,提出并实现了结合粒子群优化算法(PSO)与二进制遗传算法(BGA)的混合优化方法,旨在提升系统运行的经济性与能源利用效率。该方法在Matlab平台上进行代码实现,针对热电联产过程中存在的多目标、非线性及强耦合特性,通过粒子群算法的快速收敛能力和遗传算法的全局搜索优势相结合,有效求解机组出力分配与启停计划的联合优化问题。文中详细阐述了两种算法的融合机制、适应度函数的设计、约束条件的处理方式,并通过标准测试系统或实际案例进行仿真验证,展示了所提方法在降低系统总运行成本、提高优化精度方面的有效性与优越性。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的科研人员、高校研究生以及从事能源系统优化调度工作的工程技术人员。; 使用场景及目标:① 研究热电联产、综合能源系统等多能互补系统的经济调度模型与求解算法;② 习和掌握粒子群算法与遗传算法的基本原理及其在混合整数非线性规划问题中的融合应用技巧;③ 为实际的能源管理系统开发提供高效的优化算法原型与仿真验证工具。; 阅读建议:此资源以Matlab代码实现为核心,不仅提供了完整的算法实现流程,还包含了详细的算例分析。习者应重点研读算法设计思路与代码实现细节,动手运行和调试程序,通过改变系统参数和约束条件来观察优化结果的变化,从而深刻理解混合优化算法的工作机理和应用潜力。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧