一个C语言程序不知道哪错了求解

作者&投稿:隐祝 (若有异议请与网页底部的电邮联系)
一个C语言程序的修改。不知道错在哪了。~

VC的编译器不认识类型 “long long” ,VC里应该是int64

a==b==c要用a==b&&b==c
从新写了一下
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a&&a>0&&b>0&&c>0)
{
//printf("这三边可构成三角形");放进{}
printf("这三边可构成三角形");
if(a==b&&b==c)
printf("这是个等边三角形");
else if (a==b||b==c||c==a)
printf("这三角形是等腰三角形");
else
printf("这三角形是不等边三角形");
}
else printf("这三边不能构成三角形");
return 0;
}
是if和else错了
把printf("这三边可构成三角形");
放到{}里

为什么要放到之前?
其实在if后只能接一个语句,如果接多语句要用{}
虽然你已经用了{};但是是在if后已经使用了一个“printf("这三边可构成三角形");”语句之后,所以{}中的内容相当于第二条语句,根据if后只能接一个语句原则,{}的内容并不是if引出的语句了,后面的else也就不能与if对应了,因为else要紧接if,中间夹了一个{}内容自然要出错。
还有if和if else不会同时发生,楼下的
“ “else if (a==b||b==c||c==a)” 这一句也有问题,a==b||b==c||a==c包括a==b&&b==c;所以无法判断是等腰三角形还是等边三角形;所以应该为:a==b&&b!=c||b==c&&a!=b||a==c&&b!=c ”
也是多余的,不是我针对他,但这句确实不用改,改成他那样也没用

#include<stdio.h>
#include<math.h>
int main()//
{
 float a,b,c;
 printf("Input a=");
 scanf("%f",&a);
 printf("Input b=");//
 scanf("%f",&b);
 c=sqrt(a*a+b*b);//
 printf("c=%.2f
",c);
 return 0;//
}


你想开方吗?

将c=squrt(a*a+b*b);改为:

c=sqrt(a*a+b*b);

试试



我刚才调试了一下,你的错误有两个。

print("Input b=");改成printf("Input b=");
c=squrt(a*a+b*b);改成c=sqrt(a*a+b*b);

你记错了语句的表达形式,还有数学函数的名称。。。C语言就这里比较难弄,多记忆几遍,操作几遍吧。

c=squrt(a*a+b*b); 这句中的函数名写错了。求平方根的函数应该是sqr吧。

3)'squrt' : undeclared identifier。。。单词写错啦。多了个u
然后这么一改问题四就不存在了

初学C语言吧?您的程序代码本身没有什么错误。这个错误应该是由于缺少.h头文件对应的.lib导致的。这通常是由于编译器的配置引发的,没有能给编译器提供.h与.lib的正确位置,会导致此类问题发生。

建议你用Turbo C学习C语言,通常的教材也大多基于这个软件进行教学的。当然,除此以外,也还有其他的一些C语言工具。Visual C++本身主要用于Windows平台下的C++程序开发,就学习C语言而言,它太大,也太复杂了。


有关于C语言,我写了一个程序,不知道为什么他会出现两遍文字?
第八行后多加一个getchar();用于吸收输入的回车符

计算机二级C语言程序的一个题目,不知道答案怎么来的。求解析
那么i就等于3,这里的等号不是数学上的相等,而是赋值,把j+k的值,赋给i。最后,int 类型的变量,是整数型,12.3是带小数点的,如果把12.3赋值的任何int类型的变量,那么编译器会自动四舍五入,变成12了,scanf()是个C语言自带的输入函数,这个函数的参数有两个比如上面的,scanf("%d",&k)...

linux系统下用C语言编了个下程序,不知道如何在输入密码时隐藏,只显示...
函数名: getch 功 能: 从控制台无回显地取一个字符 用 法: int getch(void);include <conio.h> #include <stdio.h>int main(void) { char p[50];int i=-1;do{++i;p[i]=getch();putchar('*');}while( p[i]!=13); \/\/13为回车asciip[i+1]='\\0'; \/\/最后添加字符...

一个c语言程序,求解释!关键是switch(c-'2')这里不懂
2的时候。。switch(c-'2')就是swith(0),所以执行case 0,case1的时候输出(c+4)...也就是6,往下case 2,输出(c+4)..还是6,break。。结束 4的时候。。。switch(c-'2')就是switch(2)。。执行case2.。。输出(c+4)就是8.。break。。结束 7的时候。。是switch(5)。。没有就...

一个用C语言写的万年历程序,看不懂,求详细注释和这个程序的算法思想...
if(c%7-1==0&&c!=1) \/\/判断要不要换行,输出周六之后要换行输出周日(日 一 二 三 四 五 六 这个顺序输出)printf("\\n");if(a<10) \/\/每两个日期之间的空格(如: 1空格2) <10 是小于 周六的位置 同上 printf(" ");printf(" %d ",a);m++; \/\/m是下一天是周几 if(m...

想用c语言写一个关于日历的小程序,但是不知道如何计算星期几的问题...
公历一年一月一日是星期一,算出这一天和公历一年一月一日之间的天数就可以了 还有一个算法就是,400年一个循环,也就是401年一月一日也是周一这样可以少算很多天 再就是更简单的算法就是,一年是365天,364天正好是7的倍数,也就是一年多出一天来,这样再把闰年的那一天加上就可以了,这样可以算...

刚学c语言,什么都不知道,求大师说个大概吧
先学简单的输出、输入printf();、scanf();、注释、格式等。然后学习变量、语句、判断、循环等基本结构;再学习函数调用、结构、链表、文件操作等。找本入门的书比如谭浩强的《c程序设计》,反复做例子,可少做课后题。

我是c语言初学者,下面这个程序知道结果但怎么也不能理解明白,哪位大侠...
\/\/输出的值其实就是'0'+0,'0'+1,'0'+2,'0'+3,'0'+4 \/\/分别为0,1,2,3,4的ASCII码值 \/\/第一行在5个空格后输出1个0,第二行在4个空格后输出3个1...{ printf("%c",'0'+i); } printf("\\n"); \/\/再输出ASCII值后换行做下一次循环 } } ...

我想学编程,听说入门要先学C语言,可是我连个什么代码都看不懂,有没有...
我的建议是,学C一定先学图形编程;当你把基本语法学会(也就是保留字)后,不用着急去学库函数,而是学DOS下的图形编程,当你做出一个在你的指挥下满屏幕跑的卡通小人,当你编出你自己的坦克大战,你一定会废寝忘食的钻研C语言的高级用法。小心,容易上瘾不能自拔;图形编程能够把程序运行过程及时...

开发一个c语言程序要经过哪四个步骤
开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。1、预处理:输入源程序并保存(.C文件)。2、编译:将源程序翻译为目标文件(.OBJ文件)。...

吉首市13135272535: c语言编程,提示有错误,不知道在哪里错了. -
植霍杏苏: 把8,9,10行的程序放到printf("Enter .... ")前面,要先声明再用.这个程序的结构要改一下,用main函数的参数作为入口,得到val的值. int main(int argc, char **argv) { }

吉首市13135272535: 刚学C语言自己编了个程序不知道是哪错了,求指点 -
植霍杏苏: 你是求派值吧,嗯#include#include void main() { int i; double s; s=0; for(i=1;1.0/(2*i-1)>=1e-6;i++) //π/4=1-1/3+1/5-1/7+1/9-1/11+…… { if(i%2!=0) s=s+1.0/(2*i-1); else if(i%2==0) s=s-1.0/(2*i-1); } printf("%f",4*s); } //和你的一样,只是将float 改成double

吉首市13135272535: 我编写了一个C语言程序,可是不知道哪里出了错误,请高手指点一下! -
植霍杏苏: 截图不是很清晰,但是好像你main函数后面的括号写错了哈,应该是 int main() { printf("Hello"); return 0; }主要是小括号哦~ 针对修改后:可以看到报错语句为:No such file or directory,说明不是代码编写的BUG,而是IDE使用方面的错误哈,你看看是不是新建工程,添加*.c文件这些步骤是不是有什么地方出了纰漏

吉首市13135272535: 一个C语言程序,不知道自己错在哪里 -
植霍杏苏: scanf和printf两条语句都错了 scanf("%d%d",&a,&b); printf("XXXXX%d",c); //这里需要一个%d用于控制C的整形输出 if..else语句块存在逻辑混乱

吉首市13135272535: c语言找错,这个程序不知道哪错了,求大神. -
植霍杏苏: void main(){The_measure_of_area(x,y,z);}这里面调用方法,不需要传x,y,zThe_measure_of_area();这样就行了、

吉首市13135272535: C语言 错误不知道在哪里 求助 谢谢 -
植霍杏苏: #include<stdio.h> int max(int x,int y); int main() {int a,b;scanf("%d,%d",&a,&b);printf("max=%d",max(a,b));return 0; } int max(int x,int y) {int z;if(x>y)z=x;else z=y;return z; } 1. main函数要有return 0; 2. 定义max的时候不能有; 3. ...

吉首市13135272535: 编写C语言出现错误!不知道哪里错了,请高手赐教、、、 -
植霍杏苏: main() { int a,b; scanf("%d\n%d",&a,&b);/*就是这里输入的错误,要有取地址符号, 刚才我测试了,运行出来,输入1 然后敲回车键(因为你输入哪里有个\n),然后输入2 ,然后回车就输出NO*/ if (a>1000 && b>2000) { printf("Yes"); } else { printf("No"); } getch(); }

吉首市13135272535: 用C语言编译了代码,可是运行总是出错,不知道错在哪?请指教,急求! -
植霍杏苏: 1,修改后源程序如下: #include<stdio.h> int main() { double a,b,r; char c; printf("请输入三个数与符号/+-*的一个:\n"); scanf("%lf,%c,%lf,%lf",&a,&c,&b,&r); switch(c){ case '+': printf("结果为:%.2lf+%.2lf+%.2lf=%.2lf\n",a,b,r,a+b+r);...

吉首市13135272535: 一个简单的C语言编程`我不知道哪错了 -
植霍杏苏: 输出 没有用for循环把第一个printf改为: for(i = 0; i...

吉首市13135272535: C语言程序不知道哪里出错 -
植霍杏苏: 经肉眼编译器编译发现,最后两句 是全角的分号...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网