c语言求解方程2,求解,谢谢了 为什么错了?

用C语言写了一个函数从文件中读取数据,我已经在函数中测试了可以读出数据,但是回到main函数以后就成了一个‘?’,不知道为什么,求解答,谢谢!!!
[问题点数:20分,结帖人woyaozhucednCS]
用C语言写了一个函数从文件中读取数据,我已经在函数中测试了可以读出数据,但是回到main函数以后就成了一个‘?’,不知道为什么,求解答,谢谢!!!
[问题点数:20分,结帖人woyaozhucednCS]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年10月 Linux/Unix社区大版内专家分月排行榜第二2013年9月 Linux/Unix社区大版内专家分月排行榜第二
2013年12月 Linux/Unix社区大版内专家分月排行榜第三2013年11月 Linux/Unix社区大版内专家分月排行榜第三2013年6月 Linux/Unix社区大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。c语言 用递归的方法求字符串长度 麻烦帮忙看一下哪里错了 刚开始学 希望能得到大家的帮助 谢谢_百度知道
c语言 用递归的方法求字符串长度 麻烦帮忙看一下哪里错了 刚开始学 希望能得到大家的帮助 谢谢
int string_length(char);#include &lt,t);请输入字符串&#92!string)
return 0;%d&\ printf(&0&#39!='}int string_length(char string[]){ if(;int main(){char s[500];;;s[i]; printf(&%d& t=string_length(s)&#47,t; else
return 0;i++)
scanf(&*用递归的方法求字符串长度*/ if(string)
return string_length(string+1)+1;);n&quot.h&; for(i=0,&s[i])
提问者采纳
这里实际是参数合法性检测if ( string[0] == &#39,估计是写错字了!string) return 0 与 else return 0 重复了,而且 if(; 这里是递归终止判断}else{
string_length( string + 1 ) + 1,不要用循环;, s ) 这本身就是读多个字符,改成这样if ( string == NULL )
return 0;// ) {
0;&#92。 string_length 函数 的 概念不太清楚;
/0&#39输入字符串的语句应该用 scanf( &%s&quot
提问者评价
真是太谢谢了,希望以后还能够得到您的帮助!
来自团队:
其他类似问题
为您推荐:
其他1条回答
不是判断字符是否结束的方法!string)
return 0。你需要再加上一个判断 if(*string)
return 0; 这个判断只是判断string数组首地址是否为0if(
递归的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言程序题:错在哪里求解。。。谢谢了_百度知道
C语言程序题:错在哪里求解。。。谢谢了
x1=x2=(-c)/);include&lt,x2);
printf(&b;main(){
int a,b;a,b,x1;
x2=((-b)-sqrt(b*b-4*a*c))/,x2;wrong&quot,&b;wrong&quot,c.h&
x1=((-b)+sqrt(b*b-4*a*c))/
float x1,x2=%f&(4*a*c))
if(b;x1=%f,&a,&c);(2*a);
scanf(&quot.h&(2*a)include&);
printf(&quot,c&stido
提问者采纳
scanf(&quot,b.h&/),&a,&b;(2*a),程序会提示没有匹配的wrong&///x1=%f;wrong&(4*a*c))
printf(&math,x2);
x2=((-b)-sqrt(b*b-4*a*c))/),c!;这个可是基础阿;
float x1,x1!
x1=((-b)+sqrt(b*b-4*a*c))/;;
if((b*b)&&#47?,x2;include&/%d%d%d&quot,x2=%f&quot.h&怎么都是wronga阿!=0)
x1=x2=(dobule)(-c)//int 到double强制转换
printf(&b;/(2*a),&c);main(){else太多了都不知道你要说什么include&lt?
if(b;stido
提问者评价
谢谢额。。。。
其他类似问题
为您推荐:
其他6条回答
c,x2);#&#39,&c);
x2=((-b)-sqrt((double)(b*b-4*a*c)))&#47.h&gt,&b;);/&#47,x1; scanf(&x1=%f;(2*a);
x1=((-b)+sqrt((double)(b*b-4*a*c)))/ else
if((b*b)&,x2=%f&quot,是
printf(&%d %d %d&
&#47,x2!=0)
x1=x2=(-c)/b;(2*a);;);wrong&
/wrong&quot,b已改;include前面要加'void main(){ 改成%d if(a==0)
if(b; float x1;
printf(&.h&(4*a*c))
printf(&quot,看注释#include&lt.h#include&lt,&a
错误百出啊 变量只声明没有初始化,
第一行 #include &stdio.h&
第二行 #include &math.h&
第三行 int main()
下边if(a==0)语句块也不加{} else也不加 搞不懂想做什么
最后一行再加一个return 0;
错误太多了 我按照我的理解改了一下 再好好看看吧
#include &stdio.h&
#include &math.h&
int main()
int a=0,b=0,c=0;
float x1=0,x2=0;
scanf(&a,b,c&,&a,&b,&c);
x2 = (-c)/b;
else if((b*b)&(4*a*c))
printf(&wrong&);
printf(&wrong&);
x1 = (float)((-b) + sqrt(b*b-4*a*c))/(2*a);
x2 = (float)((-b) - sqrt(b*b-4*a*c))/(2*a);
1、include&stido.h&include&math.h&前面少了,#2、stido.h 应为stdio.h 3、& 前应空一格4、scanf 后 少了%算法中还有问题
解一元二次方程的。
错误如下:1、include前面掉了#号(好雷人);2、头文件是&stdio&,你这个也能写错,好强悍;3、输入语句写错了,输入a,b,c三个整型应该是:scanf(&%d%d%d&,&a,&b,&c);
改了这两个后程序可编译通过,但是有警告。最好给main加个void类型,然后把x1和x2的类型改成double,输出x1和x2改成%lf,这样警告也没了。
另外一个逻辑错误,printf(&x1=%lf,x2=%lf&,x1,x2);放错位置了,应该放在最后那个else外头,否则当a=0的时候就没有输出了。
改好后的程序:
#include&stdio.h&
#include&math.h&
void main()
int a,b,c;
double x1,x2;
scanf(&%d%d%d&,&a,&b,&c);
x1=x2=(-c)/b;
printf(&wrong\n&);
include&stido.h&改成 #include&stdio.h&
//前面加#, stido
改stdioinclude&math.h&改成#include&math.h&
求一元二次方程平方根
x1=x2=(-c)/b;把整形相除赋值浮点型要丢弃小数部分比如1/2
c语言程序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁共有 3477 人关注过本帖
标题:求1到20阶乘的和,哪点错了,谢谢
等 级:论坛游民
帖 子:19
专家分:10
结帖率:80%
&&已结贴√
&&问题点数:10&&回复次数:42&&&
求1到20阶乘的和,哪点错了,谢谢
#include&stdio.h&
int main()
&&& int a=1,tn=0,i,j;
&&& for(i=1;i&=20;i++)
&&&&&&&&for(j=1;j&=i;j++)
&&&&&&&&{&&& a=a*j;
&&&&&tn=tn+a;
&&& printf(&%d\n&,tn);
搜索更多相关主题的帖子:
等 级:新手上路
帖 子:12
程序代码:#include&stdio.h&
void main()
&&& int a = <font color=#;
&&& for(int i = <font color=#; i &= <font color=#; i++)
&&&&&&&&a = a *
&&& printf(&%d&,a);
}好像这样就可以了
/*******************/
Pri.-&Linux && C
叫我华仔就好了。
/*******************/
等 级:论坛游民
帖 子:19
专家分:10
以下是引用Time_out在 17:27:15的发言:
void main()
&&& int a = 1;
&&& for(int i = 1; i &= 20; i++)
&&&&&&&&a = a *
&&& printf(&%d&,a);
}好像这样就可以了这个是求20的阶乘,不是求阶乘和&&& 1!+2!+...+20!&&&
等 级:新手上路
帖 子:12
回复 3楼 血舞生
汗,那加一句楼主后面的不就可以了嘛
/*******************/
Pri.-&Linux && C
叫我华仔就好了。
/*******************/
来 自:斗气大陆
等 级:贵宾
威 望:41
帖 子:2174
专家分:13248
&&得分:10&
问题出在红色部分, i 的一个循环过后 a 不重新置 1 是不行滴
#include&stdio.h&
int main()
&&& int a=1,tn=0,i,j;
&&& for(i=1;i&=20;i++)
&&&&&&&&a=1; //加上一句就行了
&&&&&&&&for(j=1;j&=i;j++)
&&&&&&&&{&&& a=a*j;
&&&&&tn=tn+a;
&&& printf(&%d\n&,tn);
三十年河东,三十年河西。莫欺少年穷!
等 级:新手上路
tn不应该定义成整型&&
来 自:斗气大陆
等 级:贵宾
威 望:41
帖 子:2174
专家分:13248
回复 2楼 Time_out
你那是求阶乘,不是求阶乘和...
三十年河东,三十年河西。莫欺少年穷!
等 级:论坛游民
帖 子:19
专家分:10
以下是引用韶志在 17:32:18的发言:
问题出在红色部分, i 的一个循环过后 a 不重新置 1 是不行滴
int main()
&&& int a=1,tn=0,i,j;
&&& for(i=1;i&=20;i++)
&&&&&&&&a=1; //加上一句就行了
&&&&&&&&for(j=1;j&=i;j++)
&&&&&&&&{&&& a=a*j;
&&&&&tn=tn+a;
&&& printf(&%d\n&,tn);
} 我已经定义过了,O(∩_∩)O谢谢
来 自:china
等 级:版主
威 望:251
帖 子:11464
专家分:33193
等于这个 1820313 ?
誓死捍卫呵&#173;呵权
加群畅所欲言
个人网站 all-things-zklhp.tk chris-an-emacser.tk chriszheng.science 我的项目 emacs-w64.tk
等 级:论坛游民
帖 子:19
专家分:10
以下是引用江财星仔在 17:32:25的发言:
tn不应该定义成整型&&不是句长的问题,我把20改成3还是不行,不知道哪里错了
版权所有,并保留所有权利。
Powered by , Processed in 0.020132 second(s), 9 queries.
Copyright&, BCCN.NET, All Rights Reserved请问一下程序求三个数中最大值哪儿错了(刚学c语言),谢谢_百度知道
请问一下程序求三个数中最大值哪儿错了(刚学c语言),谢谢
&a;max=%d&quot,&b;
scanf(&quot,c,d;=c)
print(&quot.h&gt,&c);
d=b,b;void main(){,c)#include &;max=%d&;%d%d%d&quot
提问者采纳
程序没错。最后加一句while(1);就能看到结果,控制台不会立即退出
printf由于粗心写错了,请问加while(1);的原理是什么啊
提问者评价
其他类似问题
为您推荐:
其他5条回答
此行放在最后}这个结构,不是print。另外;/&#47,为确保程序的任何c编译器上成功运行,最好使用int main(){
return 0printf函数写错了
print改成printf,其他没什么问题
print(&max=%d&,c);
写错了 是printf(&max=%d&,c);
看不懂看不懂,解释一下
没看出来哪错了。
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 c语言常见错误 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信