当前位置:首页 » 课题答辩 » c科学计算

c科学计算

发布时间: 2021-03-19 11:24:54

㈠ c语言中的科学计数法。。一道题

_下划线可以当成普通字母一样使用,可放成任意位置,_a跟a_一样,是变量名;
e是科计数法,如23e5,表示23*10^5,1e-1表示1*10^-1=0.1;
浮点数省略表示法:.5代表0.5,1.代表1.0
所以上面的表达式是错误的。如果改成
_a=-1.e-1就对了,此时_a=-0.1

㈡ c语言编程 科学计数法

|

#include<conio.h>

#include<math.h>

#include<stdlib.h>

main(){

inti,j=0,k=1;

doubleqian,wan;

inthou;

char*q,*h,*p,chao1,chao2;

printf("pleaseInput:");

scanf("%s",p);

for(i=0;*(p+i)!='';i++){

if(*(p+i)=='E'||*(p+i)=='e'){

k=2;

continue;

}

if(k==1){

*(q+i)=*(p+i);

}else{

*(h+j)=*(p+i);j++;

}

}

for(i=0,j=0;*(p+i)!='';i++){

if(*(p+i)=='.'){k=1;continue;}

if(k==1)j++;

if(j==7)chao1=*(p+i);

if(j==8){chao2=*(p+i);break;}

}

qian=atof(q);

hou=atoi(h);

wan=qian*pow(10,hou);

if(j==7)printf("resultsis%lf%c0",wan,chao1);

elseif(j==8)printf("resultsis%lf%c%c",wan,chao1,chao2);

elseprintf("resultsis%lf00",wan);

getch();

}

㈢ 为什么c语言不擅长科学计算

C语言数字类型 最大貌似是double 占8个字节 我曾经用过 大概能精确到小数点后6位

㈣ c语言,输出科学计数法

#include<stdio.h>
#include<string.h>

charnum[110];
charresult[110];
intlen;

intmain()
{
inti,j;
ints1,s2;//小数点位置,字符串首个非零数位置
intfind1=0;
intfind2=0;//find1:是否找到小数点位置标志位,find2:是否找到首个非零数位置,0:表示未找到
intindex;

scanf("%s",num);
len=strlen(num);//读取字符串长度

for(i=0;i<len;++i)//寻找原字符串中小数点与首个非零数的位置
{
if(find1&&find2)
break;

if(num[i]=='.'){
s1=i;
find1=1;
}
elseif(num[i]!='0'&&!find2){
find2=1;
s2=i;
}
}

if(s1-s2>0)//根据二个位置确定指数大小
index=s1-s2-1;
elseif(s2>s1)
index=s1-s2;

j=0;
for(i=s2;i<len;++i)//确定底数
{
if(num[i]=='.')
continue;
elseif(i==s2){//确定底数小数点位置

if(num[i+1]){
result[j++]=num[i];
result[j++]='.';
}
else
result[j++]=num[i];
}
else
result[j++]=num[i];
}
result[j]='';

printf("%se%d ",result,index);
return0;
}

㈤ C语言里要对输出的结果用科学计数法表示保留三位有效数字应该怎么写啊

sorry.由于没有在计算机旁,没有及时看到你的求助,你问:C语言里要对输出的结果用科学计数法表示保留三位有效数字应该怎么写?
我觉得应该是
printf("%.3e",变量名);
而不是
printf("%3e",变量名);
==================
MSDN 中有关printf打印格式串:
%[flags] [width] [.precision] [{h | l | I64 | L}]type
的描述,其中对[.precision]是这么说的:
The third optional field of the format specification is the precision specification.
(大义:格式规约中第三个选项段是关于小数的规则。)
==================
对于打印e, E类型的数据时,[.precision]选项的作用是:
The precision specifies the number of digits to be printed after the decimal point. The last printed digit is rounded.
(大义:该精度指定了打印小数点后的位数,之后的位数会被四舍五入)
Default precision is 6; if precision is 0 or the period (.) appears without a number following it, no decimal point is printed.
(大义:缺省情况下,该精度为6,如果精度值为0或者小数点后没有紧跟着数字,则不会打印小数部分)
==================
例:
#include <stdio.h>
int main()
{
float b = 100000.55555f;
printf("%3e\n",b);
printf("%.3e\n",b);
return 0;
}
输出结果为:
1.000006e+005
1.000e+005

㈥ c语言编程 科学计数法 在线等!

#define N 100
#include"stdlib.h"
#include"stdio.h"
#include"math.h"
void main()
{
char a[N],b[N];
int i,t,f2,p,q=0;
float f1=0.0;
double result;
int temkp=0;
gets(a);
for(i=0;i<N;i++)
if(a[i]=='e'||a[i]=='E') t=i;

//提取基数
for(i=0;i<t;i++) b[i]=a[i];
b[i]='\0';
f1=atof(b);

//提取阶数 e 后面的数值
for(i=t+1;a[i];i++) b[q++]=a[i];
b[q]='\0';
f2=atoi(b);

result=f1*pow(10,f2);
printf("%.15lf\n",result);
}

㈦ C语言 科学计数法

do {
a1[i++]=getchar();
}while (a1[i]!='.');
这儿的判断不对,因为此时a1[i]还没有值。

㈧ C语言简易科学计算器加减乘除括号

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
inti,j,h,g,num[20]={0},z,m,n,s;//num[20]可以这样初始化
charch[80],r,sign[20];

gets(ch);//字符串输入

for(i=0;i<strlen(ch);i++)
{
s=0;
switch(ch[i])
{
case'+':sign[s]='+';s++;break;//缺少break;
case'-':sign[s]='-';s++;break;
case'*':sign[s]='*';s++;break;
case'/':sign[s]='/';s++;break;
case'(':sign[s]='(';s++;break;
case')':sign[s]=')';s++;break;

}
}/*读入符号*/

do{
m=0;
num[m]=atoi(ch);
n=sizeof(num[0]);
for(i=n+2;i<=(z-n-2);i++)
{
ch[i-n-2]=ch[i];
}
m++;
}while(ch[0]==' ');/*进行数字的读入转换*/

/////发现下面好多死循环,怎么可能会有结果呢////////////////
for(i=0;;i++)/*开始进行计算*/
{
if(sign[i]=='(')
{
for(j=i+1;j<=z;j++)
{
if(sign[j]==')')
{
for(h=i+1;h<=j;h++)
{
if(sign[h]=='*')
{
num[h-1]=num[h-1]*num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='/')
{
num[h-1]=num[h-1]/num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
}
for(h=i+1;;h++)
{
if(sign[h]=='+')
{
num[h-1]=num[h-1]+num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='-')
{
num[h-1]=num[h-1]-num[h];
for(g=h;;g++)//死循环
{
num[g]=num[g+1];
}
}
}
}
}
}
for(h=i+1;h<=j;h++)
{
if(sign[h]=='*')
{
num[h-1]=num[h-1]*num[h];
for(g=h;;g++)//死循环
{
num[g]=num[g+1];
}
}
if(sign[h]=='/')
{
num[h-1]=num[h-1]/num[h];
for(g=h;;g++)//死循环
{
num[g]=num[g+1];
}
}
}
for(h=i+1;;h++)//死循环
{
if(sign[h]=='+')
{
num[h-1]=num[h-1]+num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='-')
{
num[h-1]=num[h-1]-num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
}
}
printf("%d ",num[0]);
r=getchar();
return0;
}

㈨ 如何用c语言进行科学计算,如同fortran那样

C语言的计算能力不逊于Fortran的,只要你认真学。

热点内容
涂鸦论文 发布:2021-03-31 13:04:48 浏览:698
手机数据库应用 发布:2021-03-31 13:04:28 浏览:353
版面217 发布:2021-03-31 13:04:18 浏览:587
知网不查的资源 发布:2021-03-31 13:03:43 浏览:713
基金赎回参考 发布:2021-03-31 13:02:08 浏览:489
悬疑故事范文 发布:2021-03-31 13:02:07 浏览:87
做简单的自我介绍范文 发布:2021-03-31 13:01:48 浏览:537
战略地图参考 发布:2021-03-31 13:01:09 浏览:463
收支模板 发布:2021-03-31 13:00:43 浏览:17
电气学术会议 发布:2021-03-31 13:00:32 浏览:731