实验567解答.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验567解答

实验15.1-16.1解答 15.3.3输入一行字符,统计不同种类的字符个数。 void main() {char c; int n1=0,n2=0,n3=0; printf(请输入一段字符:\n); if(c=ac=z||c=Ac=Z) n1++; else if (c=0c=9) n2++; else if (c== ) n3++; printf(n1=%d,n2=%d,n3=%d,n1,n2,n3); } 15.3.4 求2x3-4x2+3x-6=0在1.5附近的根。牛顿迭代公式:xn+1=xn- f(xn) /f’(xn) f(x)=x*(x*(2*x-4)+3)-6; f’(x)=x*(6*x-8)+3;这样做可以减少乘的次数 x0为1.5;通过x0求出x1;再通过x1求x2,….直到|xn+1-xn|=? 需要求解一个新的x,使其和前一个x的差的绝对值小于? |xn+1-xn| = f(xn) /f’(xn)= (x*(x*(2*x-4)+3)-6)/ (x*(6*x-8)+3) 设d= |xn+1-xn| ,即当d ?时,计算新的x和d #include math.h #define epsilon 1.0e-6 void main() { double x,d; scanf(%lf,x); d=(((2*x-4)*x+3)*x-6)/((6*x-8)*x+3); while (fabs(d)epsilon) { x=x-d; d=(((2*x-4)*x+3)*x-6)/((6*x-8)*x+3); } printf(方程的根=%f\n,x); } #include math.h #define epsilon 1.0e-6 void main() { double x,d; scanf(%lf,x); do { x=x-d; d=(((2*x-4)*x+3)*x-6)/((6*x-8)*x+3); }while (fabs(d)epsilon); printf(方程的根=%f\n,x); } #include stdio.h #include math.h #define epsilon 1.0e-6 void main() { double x,d; for (x=1.5;d=(((2*x-4)*x+3)*x-6)/((6*x-8)*x+3),fabs(d)epsilon;x=x-d); printf(方程的根=%f\n,x); } 当第n项小于等于10-6时,停止累加。 #include stdio.h #include math.h void main() { double item,x,i,y=0; x=3;i=1; item=x; while (item1e-6){ y+=item; i++; item*=x/i; } printf(%f,y); } 15.3.6 15.3.7 统计一行中单词的个数,单词以空格分开。 #include stdio.h void main() {char pre= ,c; int count=0; while ((c=getchar())!=\n) {if (c!=‘ pre==‘ ) count++; pre=c;} printf(%d,count); } 设count记录单词个数,初始为0; c为当前读取到的字符,pre为前一字符。pre初始为空格符。 当读到的字符c不是换行符,则重复: (1)若当前读到的字符非空格而前一字符为空格,则计数器增1. (2)pre=c (3)读取下一字符。 15.3.9求勾股数 #include stdio.h void main() {int a,b,c; for (a=1;a=100;a++) for (b=1;b=100;b++) for (c=1;c=100;c++) if (a!=b a*a+b*b==c*c) printf(%d %d %d\n,a,b,c); } 15.3.10求水仙花数 #include stdio.h void main() {int num,a,b,c; for (num=100;num1000;num++){ a=num%10; b=num/10%10; c=num/100; if (a*a*a+b*b*b+c*c*c==num) printf(%d ,num); } } 教材p89 4.5.6 void main()

文档评论(0)

djdjix + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档