C语言问题,进来看看,谢谢!
发布网友
发布时间:2024-10-14 08:35
我来回答
共3个回答
热心网友
时间:2024-10-17 19:44
我没有学过
bool,true,false怎么用
不过在我这编译不通过,所以改成了这样
#include <stdio.h>
/* #include "genlib.h" */
#define Epsilon 0.000001 //这里后面别加分号,不然编译时会把分号也加进去
#define TRUE 1 //bool和true
#define FALSE 0 //false 我没用过,不过最好定义为这样
int ApproximatelyEqual (double x,double y); //bool我不清楚所以改这样
double min(double x,double y);
double Sqrt(double x);
void main()
{
int n;
printf("输入一个非负整数:");
scanf("%d",&n);
printf("该数的平方根是:%d",Sqrt(n));
}
double Sqrt(double x)
{
double g;
if(x==0) return (0);
/* if(x<0) Error("Sqrt called with negative argument %d",x); */
g=x;
while(!ApproximatelyEqual(x,g*g))
g=(g+x/g)/2;
return (g);
}
int ApproximatelyEqual(double x,double y) //bool也改成int了
{
int a ;
a=x-y;
if(a<0)
a=-a;
if(x<0)
x=-x;
if(y<0)
y=-y;
if(a/min(x,y)<Epsilon)
return TRUE; //true改了
else
return FALSE; //false改了
}
double min(double x,double y)
{
if(x>y)
return (x);
else
return (y);
}
热心网友
时间:2024-10-17 19:45
#define Epsilon 0.000001
自定义宏不是一条语句所以#define Epsilon 0.000001后面不能加";"
热心网友
时间:2024-10-17 19:45
min函数的意思是返回小的吧?你返回的是大的,是不是这个问题?
c语言问题求解!!!谢谢!!!
5、同样的问题。算术运算符的优先级高于自增运算符,所以呢,可以自己分析看看。好吧!还是由我揭晓答案吧。x = 11;则 y = x++ * 1 / 3 = (11 * 1)/3 = 11/3(不知道你定义的类型); y = ++x * 1 / 3 = (11 * 1)/3 + 1 .
C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因..
第三项结果是一个指针,也就是一个地址。它就是a[2][1]的地址,由于scanf要求是地址,所以它是正确的。
关于C语言编写程序的一个疑问 高手帮忙看看我的程序哪错了
看了你的代码觉得,你在C语言的语法规则上还有待提高啊,在此举出你所给出的代码的若干错误。首先,你的代码不完整。第9、11、13行要定义三个100行的二维字符数组,如果仅仅是类似char adj[100][12]={"开心的"}的定义;这样adj[1]到adj[99]这99个词都会是空值(ASCII码为0),若用printf()函...
C语言的小小问题,大家都进来看看
首先计算机运算全是通过2进制进行的,所以把16进制(0x 代表这个数是16进制的)转换成2进制,那么f 就是 1111 0xfff1 2进制表现就是 1111 1111 1111 0001 c语言基础教程书上都有这么一课,就是位运算,"|","&", 等等操作符。当表现一个对象有几种属性时候,它可以并列拥有几种属性,比如一件...
关于2级C语言的几个问题(详细解答一下,谢谢!)
char x='A'; 是定义一个变量x并赋值为字符A x=(x>'A'&&x<='Z')?(x+32):x; 这是个选择语句,括号里的x>'A'&&x<='Z'表示条件,意思就是在A到Z之间的字母,也就是所有大写字母,因为是 >'A'不是>=‘A',所以不包括A,当条件满足时就执行x=x+32,大写字母 +32就转换成小写...
关于C语言的一道题目 各位达人一定要进来看看 帮助一下 谢谢大家
left hand side of equation */ rightHandValue,i,j;char additiveOperator1 = '+',additiveOperator2 = '+',c;/* read compulsory parts of equation */ scanf( "%u %c %u = %u",&terms[ 0 ], &additiveOperator1, &terms[ 1 ], &terms[ 2 ] );/* any optional part? */ ...
C语言选择题(3道题),帮忙解答一下,谢谢!
int a=3,b=2,c=1;int x=10,y=20;if(ab就不满足条件,所以下面的不执行!if(b!=0)if(!x) y=1;else if(x) y=0;y=-1; 只执行这句!printf("%d",y);所以y=-1 第三题:18/4*sqrt(4.0)/8这个运算中有浮点型数据即sqrt(4.0),系统会自动把其他类型的数据想double转换。
大学c语言!!编程题 帮忙看看我做的答案有没有错误!!谢谢大家了。
/*程序1 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“正确!”,否则显示“错误!”,程序结束。*/ include void main(void){ int a,b,s;printf("请输入两个数:");scanf("%d%d",&a,&b);printf("请输入%d+%d的结果=",a,b);scanf("%d",&s);if(s==a+b)p...
计算机c语言,有几个问题,望解答,准备计算机二级的菜鸟在此谢过...
【1】我也觉得是长双精度,不过长双精度对于初学者来说很少用到,可能是因为这个原因,所以答案是双精度吧。【2】C语言的注释可以放在程序的任何地方,只要写在注释符/**/中就可以。【3】应该跟你理解的也要,C的类型int也是标识符,命名的时候不要和那些系统默认的符号重复就可以了。【4】char c1...
【悬赏】几个C语言初学的问题,求解,求解!谢谢
1、必须定义file *fp 或file fp。2、dat文件可以存放文本文件。3、extern之后就变成全局。可以一开始就extern,没有出现过也没有关系。这个extern是最大的全局。不局限在两个文件之间。所有的文件都可以使用。一般的所谓全局变量作用域只是在自己的文件中。5、&+普通变量表示地址,数组名就是地址,如果...