最简单的回答:“interest2=(money+interest2)005”这个代码有问题,怎么有问题法,自个去想,反正,这个代码会让interest2增加得越来越少,最后几近不增加。
详述如下,有耐心可以看看,应该对你有帮助
1、个人理解,你给出的代码中,计算的思维方式是有问题的。你在这个编程设计中,应该是想计算着复利。
2、复利的计算工式应该是 “interest2=interest2(1+005)” 其中的005是利率,而不是“interest2=(money+interest2)005”。
3、“interest2=(money+interest2)005”这个式子的直接后果是让interest2增加了一个非常小的数。最后变化到“526315789473684”这个值,在double数据类型下,这个值加上100,得到1052631578947368,再乘005得到5263157894736842,如果一直这样下去,它会因为受精度的限制,一直就是这么大。
5、授人以鱼不如授人以渔,以后碰到问题要学会如何使用调试。下面就是我针对你的程序给出的调试代码,供你参考,这个调试代码会将关键的数据变化的输出展示出来,在代码无问题后你再将不需要的输出注释掉:
#include<iostream>#include<iomanip> //用于控制输出精度调整
int main()
{
using namespace std;
const int money = 100;
double interest1, interest2;
interest1 = money01;
interest2 = money005;
cout << setprecision(32); //控制输出精度到32位
int i;
for (i = 1; interest1>interest2; i++)
{
interest2 = (money + interest2)005;
cout << i << "--" << interest1 << "--" << interest2 << "--" << money << "--" << "\n"; //输出执行情况
system("pause"); //用于暂停以查看,在windows及dos下有效。
}
cout << "第" << i << "年后c的投资价值将超过d" << "d的投资价值为" << interest1 + money << endl << "c的投资价值为" << interest2 + money << endl;
return 0;
}
6、至于正确的代码,个人以为,你将
interest2 = (money + interest2)005;
改成
interest2=interest2(1+005);
即可。
因为不知道你具体的设想,所以,只是个人以为,请根据你的目标要求修正。
从CSDN上找到的答案:
scanf_s("%d%d%s",&quantity,&price,departement,10);没有加最大长度
scanf_s("%c", &i);
==>
scanf_s("%c", &i, 1);
这样试试看行不?
代码不是你写的吧?因为代码没有问题,只是输入时要先输入个数n,再输入n个数,最后输入一个要找的数——这代码没有输入错误提示,所以输入错了就没有输出,等待下一次输入。而且,代码是多组循环,若要退出,得输入两次Ctrl+z键,否则啥也不显示等待下一轮输入。比如你输入4↙(↙表示回车),再输入1
2
3
4(空格隔开)↙,最后输入3↙,那么,输出就是
用函数1找到的i,j为:(2,2)
用函数2找到的下标为:2
若不退出则进入下一轮,若要退出则输入^z↙^z↙即可。^z表示同时压下Ctrl键和z键。
你出现了 内存的错误
第一 double pted 你在这里定义了一个 指向double 变量的指针 但是你并没有给pted初始化 ,这时候pted 就会随便指向了一个八字节的内存单元 。
第二步 你pted = ted ; 这里面有两个错误 第一 ted 并没有初始化 它的值根本不知道是多少
第二 你就这个未知量赋给了 pted随意指向的内存单元 这块单元很可能是 只读的 或者 正在被其他程序使用 此时 程序就会崩溃 也就是说 你的程序到了这一步 就崩溃了 下面根本不会执行了。
下面我根据你的意思 帮你改了一改 你看看 是不是你想要的
#include <iostream>
using namespace std;
int main()
{
double ted;
cout<<"Enter a number:";
cin>>ted;
double pted =&ted;
cout<<"pted="<<pted<<endl;
cout<<"ted="<<ted<<endl;
cout<<"pted="<<pted<<endl;
return 0;
}
以上就是关于c++程序没有出现输出全部的内容,包括:c++程序没有出现输出、请问我编的这个程序为什么没有输出啊、c语言中,程序没有错误但是运行后却不显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)