为什么我这个C语言不对
解决时间 2021-07-24 04:29
- 提问者网友:相思似海深
- 2021-07-24 01:39
#include<stdio.h>
#include<math.h>
#define PI 3.1416
main()
{
int deg,fdeg,add;
float rad,s,c,t;
printf("Enter initail angle,final angle & step:");
scanf("%f %f %f",°,&fdeg,&add);
printf("Degree Sine Cosine Tangent\n");
printf("====== ==== ====== =======\n");
while(fdeg<=90)
{
rad=deg/180.0*PI;
s=sin(rad);
c=cos(rad);
t=tan(rad);
printf("%6d %.2f %3.2f %4.2f\n",rad,s,c,t);
deg=deg+add;
}
}
当然输入开始角度是10,最后角度是90,每5度读一值,结果都是0,而且一直运行着0
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-07-24 01:44
首先纠正你几点
int deg,fdeg,add;
你定义的是int
而你输入scanf("%f %f %f",°,&fdeg,&add);却用的float 错误1
其次 你的循环条件 fdeg<=90
但是循环体内却始终没有改变fdeg 这就是为什么进入循环却一直不退出的原因 错误2
希望综合以上错误 你能发现你的问题出在哪里
全部回答
- 1楼网友:骨子里都是戏
- 2021-07-24 02:23
#include<stdio.h>
#include<math.h>
#define PI 3.1416
void main()
{
int deg,fdeg,add;
float rad,s,c,t;
printf("Enter initail angle,final angle & step:");
scanf("%d %d %d",°,&fdeg,&add);// 输入格式要一致
printf("Degree Sine Cosine Tangent\n");
printf("====== ==== ====== =======\n");
while(deg<=fdeg)// 若为 fdeg 就死循环了,fdeg 的值没变
{
rad=deg/180.0*PI;
s=sin(rad);
c=cos(rad);
t=tan(rad);
printf("%6.2f %.2f %3.2f %4.2f\n",rad,s,c,t);//
deg=deg+add;
}
return;
}
我要举报
大家都在看
推荐资讯