| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 585 人关注过本帖
标题:[讨论]出题大家算
只看楼主 加入收藏
zcthit
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-3-30
收藏
 问题点数:0 回复次数:5 
[讨论]出题大家算

一个不错的题目
我试着编了一下,编译成功了 ;但没结果 死循环。
看大家的了
这是我的程序:
#include <stdio.h>
#include <math.h>

main(void)
{
//define constant
double s_rate=0.001; //strain rate 3100,0.001,8000, 0.1
double tempt,yita; //temperature
double rou=10.22;
double t;
double detaT ;
double j,k;
printf("\n");
double T=298 ;
for (j=0;j<7;j++)
{ tempt=298+100*j;
printf("%d\n",tempt);
double rerong=0.255; // dependent with temperature
for (k=0;k<99;k++) //strain
{ y=k*0.01;
// if (k<0.2) yita=0.9;
// else
yita=1.0;
double A,B;
B=s_rate/14500000;
A=log(B);


t=720*pow(k,0.25)+2450*pow((1-pow((-8.62*0.00001*T*A),0.5)),1.5);
detaT=yita*t*k/rou/rerong;
T=tempt+detaT;

printf("%d,%f\n",k,t);
}
}
}

图片附件: 游客没有浏览图片的权限,请 登录注册

[此贴子已经被作者于2006-4-10 21:00:37编辑过]

搜索更多相关主题的帖子: 出题 
2006-03-30 20:05
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
收藏
得分:0 
#include <stdio.h>
#include <math.h>

main(void)
{
//define constant
double s_rate=0.001; //strain rate 3100,0.001,8000, 0.1
double tempt,yita; //temperature
double rou=10.22;
double t;
double detaT ;
double j,k;
printf("\n");
double T=298 ;
for (j=0;j<7;j++)
{ tempt=298+100*j;
printf("%d\n",tempt);
double rerong=0.255; // dependent with temperature
for (k=0.001;k<1;k+0.001) /*哥们这里好像有点错*/
{
// if (k<0.2) yita=0.9;
// else
yita=1.0;
double A,B;
B=s_rate/14500000;
A=log(B);


t=720*pow(k,0.25)+2450*pow((1-pow((-8.62*0.00001*T*A),0.5)),1.5);
detaT=yita*t*k/rou/rerong;
T=tempt+detaT;

printf("%d,%f\n",k,t);
}
}
}

其它地方没有细看。


2006-03-30 20:51
zcthit
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-3-30
收藏
得分:0 
没人感兴趣么
2006-04-07 11:05
Lunar
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-6
收藏
得分:0 
我认为2楼说的有道理
k++执行完了k的值会自动增1
但k+0.001执行完了k值不会变
2006-04-07 12:50
zcthit
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-3-30
收藏
得分:0 

谢谢大家我搞定了 呵呵
这是我最终的程序:
#include <stdio.h>
#include <math.h>

main(void)
{
//define constant
double s_rate=0.1; //strain rate 3100,0.001,8000, 0.1
double tempt,yita; //temperature
double rou=10.22;
double t;
double y;
double detaT ;
int j,k=1;
printf("\n");
double T;
char *s=("this tempterature"); /*定义字符串指针并初始化*/
FILE *fp; /*定义文件指针*/
fp=fopen("test.dat", "w"); /*建立一个文字文件只写*/
fputs("Your score of TOEFLis", fp);/*向所建文件写入一串字符*/
fputc(':', fp); /*向所建文件写冒号:*/

for (j=0;j<7;j++)
{ tempt=298+100*j;
T=tempt;
printf("%f\n",tempt);
double rerong=0.255; // dependent with temperature


for (k=0;k<200;k++) //strain
{ y=k*0.005;
if (y<0.2) yita=0.9;
else
yita=1.0;
long double A,B;
B=s_rate/14500000;
A=log(B);
t=720*pow(double(y),0.25)+2450*pow((1-pow((-8.62*0.00001*T*A),0.5)),1.5);

detaT=yita*t*0.01/rou/rerong;
T=tempt+detaT;

// printf("%f,%f\n",y,t);

fprintf(fp,"%f,%f\n",y,t); /*向所建文件写一整型数*/

}
fprintf(fp, "%s", s); /*向所建文件写一字符串*/
fprintf(fp, "%f", tempt);
}
fclose(fp); /*关闭文件*/
}


但我还有一个问题,在tempt值较大,strain_rate值很小时,会出现溢出。
能不能指点一下

[此贴子已经被作者于2006-4-11 17:08:07编辑过]

2006-04-10 21:18
zcthit
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-3-30
收藏
得分:0 

没人顶我自己顶

2006-04-11 17:09
快速回复:[讨论]出题大家算
数据加载中...
 
   



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

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