阅读以下说明和C函数,填充(1)~(5)的空缺,将解答填入答题纸的对应栏内。【说明】编写程序,对于从键盘输入的3个实数a、b、c,计算实系数一元二次方程的根并输出所求的根。 【函数】 #include<stdio.h> #include<stdlib.h> #include<math.h> Main() { float a,b,c,delta,x1,x2; printf("Enter a,b,c"); scanf("%f%f%f", if((1)) if((2)) printf("Input error!\n"); else printf("The single root is %f\n",(3)); else { delta=b*b-4*a*c; if((4)) { x1=(-b+sqrt(delta))/(2*a); x2=(-b-sqrt(delta))/(2*a); printf("x1=%8.2f\nx2=%8.2f\n",x1,x2,); } else if(delta==0) printf("x1=x2=%8.2f\n",(5)); else { Printf("z2=%8.2f+%8.2f*i\n",-b/(2*a),sqrt(-delta)/)(2*abs(a))); Printf("z2=%8.2f-%8.2f*i\n",-b/(2*a),sqrt(-delta)/(2*abs(a))); } }}

阅读以下说明和C函数,填充(1)~(5)的空缺,将解答填入答题纸的对应栏内。【说明】编写程序,对于从键盘输入的3个实数a、b、c,计算实系数一元二次方程的根并输出所求的根。 【函数】 #include<stdio.h> #include<stdlib.h> #include<math.h> Main() { float a,b,c,delta,x1,x2; printf("Enter a,b,c"); scanf("%f%f%f",&a,&b,&c)); if((1)) if((2)) printf("Input error!\n"); else printf("The single root is %f\n",(3)); else { delta=b*b-4*a*c; if((4)) { x1=(-b+sqrt(delta))/(2*a); x2=(-b-sqrt(delta))/(2*a); printf("x1=%8.2f\nx2=%8.2f\n",x1,x2,); } else if(delta==0) printf("x1=x2=%8.2f\n",(5)); else { Printf("z2=%8.2f+%8.2f*i\n",-b/(2*a),sqrt(-delta)/)(2*abs(a))); Printf("z2=%8.2f-%8.2f*i\n",-b/(2*a),sqrt(-delta)/(2*abs(a))); } }}


参考解析

解析:(1)a==0
(2)b==0
(3)-c/b (4)delta>0(或b*b-4*a*c>0)
(5)-b/(2*a) (或-b/2/a)
【解析】

对于如何求出一元二次方程的根,是解决这个题目的关键。首先我们来回忆一下数学中求一元二次方程根的方法。在数学中求一元二次方程根的步骤如下。第一步是确定方程是否为一元二次方程,这需要判断二次方系数和一次方系数是否为0,如果都为0,则方程有错。如果只是二次方系数为零,则方程为一元一次方程,方程有一个解。第二步是用Δ=b*b-4*a*c与0的关系来判断解的个数,如果Δ>0,方程有2个不同的解;如果Δ=0,方程有一个解;而Δ<0时,方程无解。 第三步才是求解。 现在我们来看主函数,在主函数中,首先声明了一些实数变量,其中变量a、b、c分别存放我们从键盘输入的3个实数,而detal中存放的是Δ的值,x1、x2中存放方程根的值。接下来是从键盘输入3个值,作为一元二次方程的系数,在对一元二次方程求解以前我们需要考虑系数值为0的情况,因此,第1空应该填“a==0”,第2空应该填“b==0”。 在a等于0而b不等于0的情况下,方程为一元一次方程,可以直接用-c/b求得其解,第3空明显是要输出这个解。再往下看,程序计算了Δ的值,那么接下来应该是判断Δ与0的关系了,从程序中可以看出,方程在第4空的条件下有两个解,那么第4空应该填“delta>0”。而第5空是在delta=0的条件下方程的解,因此第5空应该填“-b/(2*a)”。

相关考题:

阅读以下说明和C++码,将应填入(n)处的字名写在对应栏内。从下列的3道试题(试题五至试题七)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。[说明] 编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a: xxk1. dat”中。(1)include <fstream. h >include < stdlib. h >void main ( ) {(2)if ( ! four) {cerr < <“文件没有找开!” < <end1;exit (1);}int x;cin > >x;while((3)){(4)cin> >x;}(5)}

请补充main函数,该函数的功能是求方程ax2+bx+c=0的两个实数根。方程的系数a、b、c从键盘输入,如果判别式 (disc=b2-4ac)小于0,则要求重新输入a、b、c的值。例如,当a=1,b=2,c=1时,方程的两个根分别是x1=-1.00, x2=-1.00。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include"math.h"include <stdio.h>main(){float a,b,C,disc,X1,x2;clrscr();do{printf("Input a,b,C:");scanf("%f,%f,%f",a,b,ac);disc=b*b-4*a*c;if(disc<0)printf("disc=%f\n Input again!\n",disc);}while(【 】);printf("****+* the result *+*****\n");x1=【 】;x2=【 】;printf("\nx1=%6.2f\nx2=%6.2f\n",x1/x2);}

请编写函数fun(),其功能是计算并输出当x<0.97时下列多项式的值,直到|Sn-Sn-1|<0.000001为止。Sn=1+0.5x+0.5(0.5-1)x2/2!+0.5(0.5-1)(0.5-2)x3/3!+…0.5(0.5-1)(0.5-2)…(0.5-n+1)xn/n!例如:主函数从键盘给x输入0.21后,则输出为s=1.100000。注意:部分源程序以存在文件test38_2.cpp中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。文件test38_2.cpp的内容如下:include<stdio.h>include<iostream.h>include<math.h>double fun(double x){}void main( ){double x, s;cout<<"Input x:"<<endl;cin>>x;s=fun(x);cout<<"s="<<s<<endl;}

请补充main函数,该函数的功能是:从键盘输入3个整数,然后找出最大的数并输出。例如,输入:12,45,43,最大值为45。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>include<conio.h>main(){int a, b, c, max;clrscr();printf("\nlnput three numbers:\n");scanf("%d,%d,%d",a,b,c);printf("The three numbers are:%d,%d,%d\n",a,b,c);if(a>b)【 】;else【 】;if(max<c)【 】;printf("max=%d\n",max);}

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【程序2.1说明】已知一个排好序的数组,现输入一个数,要求按原来的顺序规律,将它插入到数组中。【程序2.1】include <stdioh>define N 100void main(){float a[N+l],x;int i,p;printf("输入已经排好序的数列: ");for(i=0; i<N; i++)scanf(%f",a[i]);printf("输入要插入的数:");scanf("%f",x);for(i=0,p=N; i<N; i++)if(x<a[i]){(1)break;}for(i=N-1; i>=p; i--)(2)(3)for(i=0; i<=N; i++)prinff("%f\t",a[i]);}【程序2.2说明】本程序用变量count统计文件中字符的个数。【程序2.2】include <stdio.h>include <stdlib.h>void main(){FILE *fp;long count=0;if((fp=fopen("letter.txt","r"))==NULL){printf("can not open file\n");exit(0);}while(!feof(fp)){(4)count++;}printf("count=%d\n",count);(5)}

阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。[说明] 输入1个长整型,求各位数字的平方和。例如:输入-123,输出14。include <stdio. h>void main( ){ int digit;long in , s;seanf(" % Id", in );(1);(2);while(in >0) {(3);s = s + digit* digit;(4);}pfinff( "sum = % 1dn", s );}

阅读以下函数说明和C语言函数,将应填入(n)处的语句写在对应栏内。【函数2.1说明】有1、2、3、4四个数字,输出由这些数字组成的互不相同且无重、复数字的三位数。【函数2.1】main(){int i,j,k;printf("\n");for((1)) /*以下为三重循环*/for(j=1; j<5;j++)for (k=1;k<5;k++){if ((2)) /*确保i, j, k 三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}【函数2.2说明】计算并输出100之内的素数,每行输出10个,超过10个则换行。【函数2.2】include <stdio.h>include "math.h"define N 101main(){int i,j,line,a[N];for(i=2;i<N;i++)(3);for(i=2;i<sqrt(N);i++)for(j=i+1;j<N;j++){if(a[i]!=0a[j]!=0)if(a[j]%a[i]==0)(4);}printfC\n");for(i=2,line=0;i<N;i++){if(a[i]!=0){prinff("%5d",a[i]);(5);}if(line==10){prinff("\n");line=0;}}}

执行下面程序时,若输入1、-5、6,则输出结果为()。includeincludedefinedisc(a, 执行下面程序时,若输入1、-5、6,则输出结果为( )。 # include <stdio.h> # include <math.h> # define disc(a,b,c) b*b-4*a*c main() { float x1,x2; int a,b,c; scanf("%d,%d,%d",a,b,c); x1=(-b+sqrt(disc(a,b,c)))/(2*a); x2=(-b-sqrt(disc(a,b,c)))/(2*a); printf("%5.1f.%5.1f",x1,x2); }A.3,2B.3.0,2.0C.-3,-2D.程序出错

编写函数fun(),它的功能是求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并做为函数值返回。例如:n为1000时,函数值应为s=153.909064。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <math.h>include <stdio.h>double fun(int n){}main(){clrscr();printf("s=%f\n", fun(1000));}

请编写函数fun(),它的功能是计算下列级数和,和值由函数值返回。S=1+x+x2/2!3/3!+…/xn/n!例如,当n=10,x=0.3时,函数值为1349859。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。试题程序:include<conio.h>include<stdio.h>include<math.h>double fun(double x, int n){}main (){clrscr ();printf ("%f ",fun(0,3,10));}

编写函数fun(),函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)例如:若n的值为11时,函数的值为1.833333。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <stdio.h>include <string.h>float fun(int n){}main(){int n;float s;clrscr();printf("\nPlease enter N: ");scanf("%d",n);s=fun(n);printf("The result is:%f\n " , s);}

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]编写一个函数,输入为偶数时,调用函数求1/2+?/+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n (利用指针函数)。[函数]include "stdio. h",main(){float peven (),podd (),dcall ();float sum;int n;while (1){scanf("%d",n);if (n>1)break;}if(n%2==0){printf("Even="):(1);}else{pfinff("Odd=");(2);}printf("%f",sum);}float peven (int n){float s;int is=1;for(i=2;i<=n;i+=2)(3);return (s);}float podd (n)int n;{float s;int i;s=0;for(i=1 i<=n;i+=2)(4);return (s);}float dcall(fp,n)float (*fp) ();int n;{float s;(5);returu (s);}

下列程序的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。xn+1=cos(xn)迭代步骤如下:(1)取x1初值为0.0。(2)x0=x1,把x1的值赋给x0。(3)x1=cos(x0),求出一个新的x1。(4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2)。(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。请编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果输出到文件out41.dar中。注意:部分源程序已给出。请勿改动主函数main()和写函数writeDAT()的内容。试题程序:include<conio.h>include<math.h>include<stdio.h>float countvalue( ){main ( ){clrscr( );printf("实根=%f\n",countValue( ));printf("%f\n",cos(countValue( ))countValue( ));writeDAT( );writeDAT( ){FILE *wf;wf=fopen("out41.dat","w");fprintf(wf,"%fln",countValue(fclose(wf);}

以下程序的输出结果是【】。 include main() {struct stru {int a; float b; char d[4]; } 以下程序的输出结果是【 】。include<stdio.h>main(){ struct stru{ int a;float b;char d[4];};printf("%d\n",sizeof(struct stru));}

阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。[说明]阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。(1)

请编写函数fun(),它的功能是计算下列级数和,和值由函数值返回。S=1-x+x2(上标)/2!-x3(上标)/3!+…+ (-1*x) n(上标)/n!例如,当n=15,x=0.5时,函数值为0.606531。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include<conio.h>include<stdio.h>include<math.h>double fun(double x, int n){}main(){clrscr();printf("%f ",fun (0.5,15));}

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】编写程序,对于从键盘输入的3个实数a、b、c,计算实系数一元二次方程的根并输出所求的根。【函数】include<sldio.h>include<sldlib.h>include<math.h>Main(){float a,b,c,delta,x1,x2;printf("Enter a,b,c");scanf("%f%f%f",a,b,c));if((1))if((2))printf("Input error!\n");elseprintf("The single root is%f\n",(3));else{delta=b*b-4*a*c;if((4)){x1=(-b+sqrt(delta))/(2*a);x2=(-b-sqrt(delta))/(2*a);printf("x1=%8.2f\nx2=%8.2f\n",x1,x2,);}else if(delta==0)printf("x1=x2=%8.2f\n",(5);else{Printf("z2=%8.2f+%8.2f*i\n",-b/(2*a),sqrt(-delta)/)(2*abs(a)));Printf("z2=%8.2f-%8.2f*i\n",-b/(2*a),sqrt(-delta)/(2*abs(a)));}}}

请编写函数fun(),它的功能是计算:s=(1-In(1)-In(2)-In(3)-…-1n(m))2s作为函数值返回。在C语言中可调用log(n)函数求In(n)。log函数的引用说明是double log(double x)。例如,若m的值为15,则fun()函数值为723.570801。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <stdio.h>include <math.h>double fun(int m){}main(){clrscr();printf("%f\n",fun(15));}

阅读下列程序说明和C程序,将应填入(n)处的字句写在对应栏内。[函数2.1说明]下面程序的功能是计算x和y的最小公倍数。[函数2.1]main(){ int m,n,d,r;seanf("%d %d",m,n);if(m<n) {r=m;m=n;n=r;}(1);while (d%n! =0) (2);printf("%d\n",d);}[函数2.2说明]下述程序接收键盘输入,直到句点“.”时结束。输入的字符被原样输出,但连续的空格输入将转换成一个空格。[函数2.2]include <stdio.h>main(){ char c,preChar='\0';c = getchar();while(c! = '.'){if((3)) putchar(c);else if(preChar! =' ') putchar(c);(4);c=(5);}}

请补充main函数,该函数的功能是求方程ax2+bx+c=0的根(方程的系数a,b,c从键盘输入)。例如, 当a=1,b=2,c=1时, 方程的两个根分别是:x1=-1.00,x2=-1.00。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>include <conio.h>include <math.h>main(){float a,b,c,disc,x1,x2,p,q;scanf("%f,%f,%f",a,b,c);disc=b*b-4*a*c;clrscr();printf("****** the result ****+*+\n");if(disc>=0){x1=【 】;x2=(-b-sqrt(disc))/(2*a);printf("x1=%6.2f,x2=%6.2f\n",x1,x2);}else{p=【 】;q=【 】;printf("x1=%6.2f+%6.2f i\n",p,q);printf("x2=%6.2f-%6.2f i\n",p,q);}}

阅读以下说明和 C 函数,填补函数代码中的空缺,将解答填入答题纸的对应栏内。 【说明 1】 函数 f(double eps) 的功能是:利用公式计算并返回 的近似值。【说明 2】 函数fun(char *str)的功能是:自左至右顺序取出非空字符串 str中的数字字符,形成一个十进制整数(最多 8 位)。例如,若 str中的字符串为 iyt?67kp f3g8d5.j4ia2e3p12, 则函数返回值为 67385423。

下面的程序运行后输出为()。include include main(){int a,b;float c;b = 5; 下面的程序运行后输出为( )。 #include <stdio.h> # include <math.h> main() { int a,b; float c; b = 5;c = 6;c = b+7;b = c+1; a = sqrt((double)b+c); printf("%d,%f,%d",a+6,C,b); }A.11.000000,12.0000000,13.000000B.11.000000,12.000000,13C.11.0000000,12,13D.11,12.000000,13

阅读下列说明、c++代码和运行结果,填补代码中的空缺(1)~(6),将解答填入答题纸的对应栏内。【说明】很多依托扑克牌进行的游戏都要先洗牌。下面的c++程序运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。【c++代码】inciude <iostream>4Finclude <stdlib. h>include <ctime>inciude <aigorithm>include <string>Using namespace stdConst string Rank[13]={”A”,”2”,”3”,”4“,“5”,”6,”’“7”8“,9”,”10,”J”,”Q”,”K”}j//扑克牌点数

()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]下面程序是一个带参数的主函数,其功能是显示在命令行中输入的文本文件内容。[C语言函数]#include"stdio.h"main(argc,argv) int argc; char *argv[]; { (1) ; if((fp=fopen(argv[1],”r’’))== (2) ) { printf(”file not open!\n”);exit(0);} while( (3) ) putchar( (4) ); (5); }

阅读以下C代码,回答问题(1)~(6),将解答填入答题纸的对应栏内。【说明】函数insertElem的功能是在元素升序排列的数组中加入一个新元素并保持数组元素升序排列的特点。在main函数中输入若干表示价格的实数,输入为0或负数或实数个数超出限定数量时终止,调用insertElem将价格按升序保存在数组pdata中,最后输出所输入的实数

阅读下列说明,补充(1)-(9),将解答填入答题纸的对应栏内。

如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是()A、#include〈string.h〉B、#include〈math.h〉C、#include〈stdio.h〉D、#include〈ctype.h〉