标题:有关精度问题
只看楼主
huanguyu
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-4-26
 问题点数:0 回复次数:3 
有关精度问题
最近想写一个程序(C++)  结果发现有的问题我无法解决(初学)
1、解决 COUT的输出精度,(是用来输出 最大99.999的25次方的时候用的) 要精确的值
这个问题 老师有说过用数据结构来解决 可是我对这个不了解 所以想知道有没其他方法
2、有没办法对一个字符串数组里面的每个串中的每个字符进行处理
比如 我要将每个串中的‘H’ T Q换成2
换前:‘HTT546Q”
换后: 2225462
搜索更多相关主题的帖子: 精度 
2006-04-26 19:57
hnzzc
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2006-4-26
得分:0 

#include <iostream>
using namespace std;
void main()
{
char *str1="HTT546Q";
char *str2="HQT";
char c='2';
for(int i=0;str1[i];i++)
for(int j=0;str2[j];j++)
if(str1[i]==str2[j]) //判断数组str2中是否有数组str1中的字符
{
str1[i]=c; //如果有,则用字符c替换,并且结束当循环
break;
}
for(i=0;str1[i]!=0;i++)
cout <<str1[i];
cout<<endl;
}

2006-04-27 09:06
hnzzc
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2006-4-26
得分:0 

#include <iostream.h>
#include <iomanip.h>
#include <math.h>
void main()
{
double x=99.999;
long double sum=pow(x,25);
cout<<setprecision(20) //用来控制精度
<<sum<<endl;
}

运行的结果为:
9.99750029997699e+049
Press any key to continue
不过精度只有十五位

2006-04-27 09:15
huanguyu
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-4-26
得分:0 
谢谢HNZZC的回复     可是精度的问题还不能解决   

看越多书就发现自己越无知 于是就越想知道更多
2006-04-27 10:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-60382-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.182513 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved