这是我写的代码,可是提交上pta就会显示格式错误请问我有什么错了吗,应该怎样改善?

这是我写的代码,可是提交上pta就会显示格式错误请问我有什么错了吗,应该怎样改善?,第1张

你的读取格式每个%lf之间都有一个空格。读取的时候每个数之间需要输2个空格,而你输入是按1个空格留的,因此输入错误。解决办法:把scanf语句中每个%lf之间的空格都删掉,变成%lf%lf%lf%lf%lf%lf,这样输入的时候数之间输1个空格就可以了。

另外:不要在程序中乱加空格。书上带空格是为了让人阅读方便,不是让你按那个加空格。

我看了一下图中的PAT的题,研究了一下。

在VS上当然能正常运行(你这个程序本身就没有编译错误嘛),但是算法出现了问题。不应该用do while循环,因为do while循环总会执行一次,举个例子,假设输入的为1,那么将会造成结果为2(实际为0)。所以应当用while循环。

还有就是那个开头判断输入是否越界的if不用写,因为测试输入永远是按照题意的,不会出界。

这是改进后的代码(测试了可以全对):

#include<iostream>

using namespace std

int main()

{

int n

cin >>n

int j = 0

while (n != 1)

{

int i = n % 2

if (i == 0)

{

n = n / 2

}

else

{

n = (n * 3 + 1) / 2

}

j++

}

cout <<j <<endl

return 0

}

是加载了Ukey类的加密登陆方式吧?这要查签名证书、驱动以及u盾硬件几方面的问题。

可尝试在ie里面,把有关证书的全部先删除;ie浏览器选项---内容---证书,把里面已经有的证书删除;

另,如果在加载项里有相关的控件,也一并删除,一般开发方会提供有卸载程序。

然后使用管理员运行ie,重新安装证书、注册控件。

电子政务平台解决方案,推荐考察 云海中腾OA办公自动化。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11635824.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存