C语言上机题库百科园!南信大!_第1页
C语言上机题库百科园!南信大!_第2页
C语言上机题库百科园!南信大!_第3页
C语言上机题库百科园!南信大!_第4页
C语言上机题库百科园!南信大!_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章1 .为表示关系x?y?z,应使用的表达式是A.(x>=y)&&(y>=z)B.(x>=y>=z)C.(x>=y)AND(y>=z)D.(x>=y)&(y>=z)2 .有以下程序main() int i;for(i=0; i<3; i+) switch(i) case 1: printf("%d", i);case 2: printf("%d", i);default : printf("%d", i);执行后输出结果是A.011122B.120C.0

2、12022D.0123.对for(表达式1;表达式3)可理解为()A.for(表达式1;1;表达式3)B.for(表达式1;0;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)4 .假设i为整型变量,那么以下循环执行次数是()for(i=2;i=0;) printf("%d",i-);A.0次B.1次C.无限次D.2次5 .有以下程序段int n=0,p;doscanf("%d",&p);n+;while(p!=12345&&n<3);此处do-while循环的结束条件是 .A.

3、p的值等于12345且n的值大于等于3B.p的值不等于12345且n的值小于3C.p的值不等于12345或者n的值小于3D.p的值等于12345或者n的值大于等于36 .有以下程序段int n=0,p; do( scanf("%d",&p); n+;while(p!=12345&&n<3);以下描述中正确的选项是().A.do-while 循环中,根据情况可以省略 whileB.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句C.do-while 循环由do开始,用while结束,在while(表达式)后面

4、不能写分号D.在do-while循环体中,一定要有能使while 后面表达式的值变为零("假")的操作7 .执行语句for(i=1;i+<4;); 后变量i的值是().A.不定B.3C.4D.58 .有以下程序 main()(int a=5, b=4, c=3, d=2;if(a>b>c)printf("%dn",d);else if(c-1 >= d) = 1)printf("%dn",d+1);else printf("%dn",d+2); 执行后输出结果是A.2B.4C.编译时出错D.

5、3 main() int x=1,a=0,b=0; switch (x) case 0: b+;case 1: a+;case 2: a+;b+;printf("a=%d,b=%d",a,b);该程序的输出结果是()A.2,2B.2,1C.1,1D.1,010 .以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的 平均分并输出,程序如下:main() int n,k;float score,sum,ave;sum=0.0;for(n=1;n<=10;n+)for(k=1;k<=4;k+ )scanf("%f",&s

6、core);sum+=score;ave=sum/4.0;printf("NO%d:%fn",n,ave);上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确.这条语句是A.ave=sum/4.0B.sum=0.0;C.sum+=score;D.printf("NO%d : %fn",n,ave);11 .运行以下程序后,输出的结果是main() int k = -3;if(k <= 0)printf("*n");else printf("&&&&n");A

7、.*B.有语法错误不能通过编译C.&&&&D.*&&&&12 .下面的程序片断所表示的数学函数关系是y = -1;if(x != 0) y = 1;if(x > 0) y = 1;else y = 0;A.B.C.D.13 .以下程序的输出结果是 main() int x, i; for(i = 1; i <= 100; i+) x = i;if( +x % 2 = 0)if( +x % 3 = 0 ) if( +x % 7 = 0) printf( %d ;'x);)printf(tn ");)A.

8、28 70 B.39 81 C.42 84 D.26 68 14.以下程序段中,与语句:k=a>b?(b>c?1:0):0 ;功能相同的是() A.if(a>b)&&(b>c) k=1; else k=0;B.if(a>b)|(b>c) k=1; else k=0;C.if(a>b) k=1;else if(b>c) k=1;else k=0;D.if(a<=b) k=0; else if(b<=c) k=1;15.为了防止在嵌套的条件语句if-else中产生二义性,C®言规定:else子句总是与()配对.A

9、.其之后最近的if B.其之前最近的if C.缩排位置相同的if D.同一行上的if 16.t为int类型,进人下面的循环之前,t的值为0 while( t=1 ) 那么以下表达中正确的选项是 0A.以上说法都不对 B.循环限制表达式的值为1 C.循环限制表达式的值为0 D.循环限制表达式不合法 17.以下程序段的输出结果是 int k, j, s;for(k = 2; k < 6; k+, k+) s = 1;for(j = k; j < 6; j+)s += j;)printf(%dn",s);A.15B.10C.24D.918 .语句while(!E);中的表达式!

10、E等价于().A.E!=1B.E= =0C.E=1D.E!=019 .以下程序段的输出结果是int x= 3;do pritnf(%3d, x-=2); while (!(-x);A.死循环B.1 -2C.3 0D.120 .以下程序的运行结果是().main()int i=1,sum=0;while(i<10) sum=sum+1;i+;printf("i=%d,sum=%d",i,sum);A.i=10,sum=9B.运行出现错误C.i=2,sum=1D.i=9,sum=921 .设有定义:int a=1,b=2,c=3;以下语句中执行效果与其它三个不同的是()A

11、.if(a>b) c=a,a=b,b=c;B.if(a>b) c=a,a=b,b=c;C.if(a>b) c=a;a=b;b=c;D.if(a>b) c=a;a=b;b=c;22 .以下程序中,while循环的循环次数是 main()int i=0;while(i<10) (if(i<1) continue;if(i=5) break; i+;A.死循环,不能确定次数B.6C.4D.123 .选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为 真"或 假".哪个数作为逻辑 假值()oA.-1B.非零的

12、数C.1D.024.int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c;贝Ua的值为().A.1B.不一定C.3D.225 .有以下程序,假设想从键盘上输入数据,使变量m的值为123, n中的值为456, p中的值为789,那么正确的输入是()#include<stdio.h>int main()(int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%dn",m,n,p);return 0;A.m=123 n=456 p=78

13、9B.m=123n=456p=789C.123 456 789D.m=123,n=456,p=78926 .有以下程序 main ()(int i=1,j=1,k=2;if(j+|k+ ) &&i+)printf("%d,%d,%dn",i,j,k);)执行后输出结果是A.2,2,2B.2,2,3C.1,1,2D.2,2,127 .以下程序段的输出结果为()o for(i=4;i>1;i-) for(j=1;j<i;j+) putchar('#');A.#B.无C.#D.#28 .有如下程序main () (float x=2.0

14、,y;if (x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf ("%f'n",y ) ;该程序的输出结果是29 .判断两个字符串是否相等,正确的表达方式是A.while(s1=s2)B.while(s1= =s2)C.while(strcmp(s1,s2)=0)D.while(strcmp(s1,s2)= =0)30 .假设x是int类型变量,以下程序段的输出结果是for(x = 3; x < 6; x+)printf( (x%2)?(*%d',):( #%drf),x);A.

15、B.C.D.31 .C语言中,switch后的括号内表达式的值可以是A.只能为整型和字符型B.只能为整型C.任何类型D.只能为整型,字符型,枚举型32 .设j和k都是int类型,那么下面的for循环语句().for(j=0,k=0;j<=9&&k!=876;j+) scanf("%d",&k);A.最多执行9次B.循环体一次也不执行C.最多执行10次D.是无限循环33.int a=3,b=2,c=1; if(a>b>c)a=b; else a=c;贝Ua的值为().A.2B.3C.1D.034 .为了防止在嵌套的条件语句if-els

16、e中产生二义性.语言规定:else总与() 配对A.同一行上的ifB.其之后最近的ifC.其之前最近的未配对的ifD.缩排位置相同的if35 .以下不正确的if语句形式是().A.if(x<y) x+;y+;B.if(x>y&&x!=y);C.if(x=y) x+=y;D.if(x!=y) scanf("%d",&x) else scanf("%d",&y);36 .结构化程序设计所规定的三种根本限制结构是()oA.树形、网形、环形B.输入、处理、输出C.主程序、子程序、函数D.顺序、选择、循环37 .以下程序

17、的输出结果是main() int y = 10for(; y > 0; y -)if(y % 3 = 0) pritnf(%d,-y);continue;A.741B.963C.875421D.85238 .以下程序的执行结果是main() int x = 0, s = 0;while( !x != 0 ) s += +x;printf( "%d ",s ); A.无限循环B.0C.1D.语法错误39.int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;A.3那么c的值为B.2C.不一定D.140.以下表达正确的选项是.A.do-while语

18、句构成的循环不能用其它语句构成的循环来代替B.用do-while语句构成的循环,在while后的表达式为零时结束循环C.用do-while语句构成的循环,在while后的表达式为非零时结束循环D.do-while语句构成的循环只能用break语句退出.41 .假定所有变量均已正确定义,以下程序段运行后x的值是.k1=1;k2=2;k3=3;x=15;if!k1 x-;else ifk2 x=4;else x=3;A.15B.14C.3D.442 .有以下程序,程序运行后的输出结果是#include <stdio.h> int main()int i,j,m=1;for(i=1;i&

19、lt;3;i+) for(j=3;j>0;j-)if(i*j>3) break;m*=i*j;printf(m=%dn ,m);return 0; A.m=2B.m=6C.m=4D.m=5()43 .以下for 循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x+);A.4次B.是无限循环C.3次D.循环次数不定44 .以下程序的输出结果是()0main()(int x=1,y=0,a=0,b=0;switch(x)(case 1:switch(y)(case 0:a+;break;case 1:b+;break;case 2:a+;b

20、+;break;case 3:a+;b+;break;printf("a=%d,b=%dn",a,b);A.a=2,b=1B.a=2,b=2C.a=1,b=0D.a=1,b=145 .有以下程序,当执行程序时,按以下方式输入数据(从第1列开始,<CR代表 回车,注意:回车也是一个字符)12<CR>34<CR>那么输出结果是(B)#include <stdio.h>int main()(char a,b,c,d;scanf("%c%c,&a,&b);c=getchar(); d=getchar();print

21、f("%c%c%c%cn",a,b,c,d);return 0;A.1234B.1234C.123D.1246 .以下程序的运行结果是().main() int n;for(n=1;n<=10;n+)if(n%3=0) continue;printf("%d",n);A.12D.36947 .C语言中while 和do-while循环的主要区别是().A.while的循环限制条件比do-while的循环限制条件更严格B.do-while的循环体至少无条件执行一次C.do-while 的循环体不能是复合语句D.do-while 允许从外部转到循环体内

22、48 .以下不是无限循环的语句为().A.for(;x+=i);B.while(1)x+;C.for(y=0,x=1;x>+y;x=i+) i=x;D.for(i=10;i-) sum+=i;49 .从循环体内某一层跳出,继续执行循环外的语句是A.break 语句B.return 语句C.continue 语句D.空语句50 .以下程序的输出为().main() int y=10;while(y-);printf("y=%dn",y);A.while构成无限循环B.y=0C.y=-1D.y=151 .有以下程序,程序运行后的输出结果是()#include <st

23、dio.h>int main()(int a=1,b=2;while(a<6) b+=a;a+=2;b%=10;printf(%d,%dn',a,b);return 0;A.5,11B.6,1C.7,11D.7,152 .在以下给出的表达式中,与 do-while(E) 语句中的(E)不等价的 表达式是().A.(E=0)B.(E>0|E<0)C.(!E=0)D.(E!=0)53 .以下程序段的输出结果是int i, j, m = 0;for(i = 1; i <= 15; i += 4)for(j = 3; j <= 19; j += 4) m+;

24、printf(%dn",m);A.15B.12C.20D.2554 .执行以下语句后的输出为().intj=-1;if(j<=1) printf("*n");else printf("%n");A.%cB.有错,执行不正确C.*D.%55 .以下程序的执行结果是.main() int num = 0;while( num <= 2 ) num+; printf( "%d,",num ); A.1,2,3,B.1,2,3,4,C.1,2,D.0,1,256 .下面程序的运行结果是#include <stdio

25、.h>main ()(int y=10;doy-;while (-y );printf ("%dn",y-);A.0B.1C.8D.-157 .假设有定义语句int a,b;double x;那么以下选项中没有错误是()A.switch(int)(x)%2)case 0.0:a+;break;case 1.0:b+;break;default:a+;b+;B.switch(int)x%2)case 0:a+;break;case 1:b+;break;default:a+;b+;C.switch(x%2)case 0:a+;break;case 1:b+;break;

26、default:a+;b+;D.switch(int)x%2.0)case 0:a+;break;case 1:b+;break;default:a+;b+;58 .设a、b和c都是int变量,且a=3, b=4, c=5;那么以下的表达式中,值为0的表达式是A.a|b+c&&b-cB.a<=bC.!(a<b)&&!c|1)D.a&&b59 .C语言程序的三种根本结构是顺序结构、选择结构和 结构.A.递归B.转移C.嵌套D.循环60 .在下述程序中,判断i > j共执行了多少次#include <stdio.h>ma

27、in()(int i = 0, j = 10, k = 2, s = 0;for(;)(i += k;if(i > j)(printf(%dn",s);break;s += i; A.4B.8C.6D.761.while(fabs(t)<1e-5)if(!s/10)break; 循环结束的条件是().A.fabs(t)<1e-5&&!s/10B.fabs(t)<1e-5C.t>=1e-5&&t<=-1e-5&&s>-10&&s<10D.s/10=062 .以下表达正确的选项

28、是:A.用do-while构成循环时,只有在while后的表达式为非零时结束循环B.do-while语句构成的循环不能用其它语句构成的循环来代替.C.用do-while构成循环时,只有在while后的表达式为零时结束循环D.do-while语句构成的循环只能用break语句退出.63 .以下程序的输出结果是main() int i, sum;for(i = 1; i < 6; i+)sum += i;printf( %dn" sum);A.15B.不确定C.16D.064 .有以下程序,程序运行后的输出结果是()#include<stdio.h>int main()

29、char b,c; int i;b='a' c='A'for(i=0;i<6;i+)(if(i%2) putchar(i+b);else putchar(i+c);printf("n");return 0; A.ABCDEFB.aBcDeFC.abcdefD.AbCdEf65 .有如下程序main () (int x=1,a=0,b=0;switch (x) (case 0: b+;case 1: a+;case 2: a+;b+; printf("a=%d,b=%dn",a,b );该程序的输出结果是A.a=1,b

30、=1B.a=2,b=1C.a=1,b=0D.a=2,b=266.以下程序段中,能够正确地执行循环的是().A.static int a; while(a)B.int s=6; do s-=2; while(s);C.for(i=1;i>10;i+)D.int s=6; m:if(s<100) exit(0); else s-=2; goto m: 判断char型变量c是否为大写字母的C勺表达式是 A. A'<=c<='Z'B. ( A'<=c)AND(Z'>=c)C. (c>= 'A )&&

31、;(c<= 'Z')D.(c>= 'A')&(c<= Z)以下程序的输出结果是().main() int x=1,y=0,a=0,b=0; switch(x)case 1:switch(y) case 0:a+;break;case 1:b+;break; case 2:a+;b+;break;case 3:a+;b+;break;printf("a=%d,b=%dn",a,b);A.a=2,b=1B.a=1,b=0C.a=2,b=2D.a=1,b=1下面有关for循环的正确描述是().A.for循环是先执行循环循环

32、体语句,后判断表达式B.在for循环中,不能用break语句跳出循环体C.for循环只能用于循环次数已经确定的情况D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来假定所有变量均已正确定义,下面语句段执行后的x的值是a = b = c = 0; x = 35;if(!a) x-; else if(b) ; if(c) x = 3; else x = 4;A.34B.4C.35D.3在C§言中,为了结束由while语句构成的循环,while后一对圆括号 中表达式的值应该为().A.1B.0C.TrueD.非0有以下程序,程序执行后的输出结果是()#include &l

33、t;stdio.h>int main() int y=10;while(y-);printf(y=%dn,y);return 0;)A.y=-1B.y=1C.while构成无限循环D.y=0有以下程序,程序运行后的输出结果是()#include <stdio.h>int main()int a=1,b=0;if(!a) b+;else if(a=0) if(a) b+=2;else b+=3;printf("%dn",b);return 0;)A.3B.0C.1D.2有输入语句:scanf("a=%d,b=%d,c=%d",&a

34、,&b,&c);为使变量a的值为1, b的值为3, c的值为2,那么正确的数据输入方式是().A.a=1 b=3 c=2 /B.a=1,b=3,c=2 /C.132/D.1,3,2 /程序段:int x=12;double y=3.141593;printf(%d%8.6f>,y);的输出结果是()A.12,3.141593B.12 3.141593假设变量已正确定义,有以下程序段i=0;do printf(%d,i); while(i+);printf(%dn,i);其输出结果是 ()A.0,0B.程序进入无限循环C.1,1D.0,1以下条件语句中输出结果与其他语句不同

35、的是()A.if (a) printf("%dn",x); else printf("%dn",y);B.if (a=0) printf("%dn",y); else printf("%dn",x);C.if (a=0) printf("%dn",x); else printf("%dn",y);D.if (a!=0) printf("%dn",x); else printf("%dn",y);有以下程序,程序运行后的输出结果是()#i

36、nclude<stdio.h>int main() int x=1,y=0;if(!x) y+;else if(x=0)if (x) y+=2;else y+=3;printf("%dn",y);return 0;A.3B.2C.0D.1有以下程序段char name20;int num;scanf("name=%s num=%d,name;&num);当执行上述程序,并从键盘输入:name=Lili num=1001倒车>后,name勺值()A.Lili num=B.name=LiliC.LiliD.name=Lili num=1001

37、执行以下程序片段时输出的结果是().int x=13,y=5;printf("%d",x%=(y/=2);A.2B.3C.1D.0有如下定义和输入语句,假设要求a1,a2,c1,c2的值分别为10, 20,所口B,当 从第一列开始输入数据时,正确的数据输入方式是().int a1,a2; char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);A.10A20B/B.10A20 B/C.10 A20B/D.10 A 20 B /假设定义x为double型变量,那么能正确输入x值的语句是(A.

38、scanf("%5.1f",&x);B.scanf("%f",x);C.scanf("%lf",&x);D.scanf("%f",&x);以下程序段中的变量已正确定义*);程序段的输出结果是()for(i=0;i<4;i+,i+)for(k=1;k<3;k+) printf(A. B. C. D.*有以下程序段,以下表达中正确的选项是()int main()while( getchar()!='n');A.此while语句将无限循环B.当执行此while语句时,只

39、有按回车键程序才能继续执行C.当执行此while语句时,按任意键程序就能继续执行D.getchar()不可以出现在while语句的条件表达式中 有以下程序:程序运行后的输出结果是()#include <stdio.h>int main()int a=7;while(a-);printf("%dn",a);return 0;A.-1B.1C.0D.7if语句的根本形式是:if(表达式)语句,以下关于“表达式值的表达中正确 的是()A,必须是正数B.可以是任意合法的数值C.必须是整数值D.必须是逻辑值设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是

40、()A.n=+x; printf("%dn",n);B.n=x+; printf("%dn",n);C.+x; printf("%dn",x);D.x+; printf("%dn",x);假设有定义:int a,b;,通过语句scanf( %d;%d,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是()A.3,5B.3 5C.3;5D.35有以下程序#include <stdio.h>int main()int a1,a2; char c1,c2;scanf("%

41、d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);return 0;假设想通过键盘输入,使得a1的值为12, a2的值为34, c1的值为字符a, c2的值为 字符b,程序输出结果是:12, a, 34, b那么正确的输入格式是(以下代表空格,<CR我表回车)A.12,a,34,b<CR>B.12_a34_b<CR>C.12a34b<CR>D.12_a_34_b<CR>有以下程序,程序运行后的输出结果是()#i

42、nclude <stdio.h>int main()int a=1,b=2;for(;a<8;a+) b+=a;a+=2; printf(%d,%dn',a,b);return 0;A.8,11B.7,11C.9,18D.10,14假设i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k+) printf("*n");下面关于语句执行情况的表达中正确的选项是()A.构成无限循环B.循环体一次也不执行C.循环体执行两次D.循环体执行一次程序设计/*编写函数fun,它的功能是:求n以内(不包括n)同时能被5与11整除的所有自然

43、数之和的平 方根s,并作为函数值返回.例如,n为1000时,函数值应为s=96.979379.注意:局部源程序给出如下.请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的假设干语句.试题程序:*/#include <math.h>#include <stdio.h>#include<stdlib.h>double fun(int n) /*Begin*/ /* End */ void main()FILE *wf;printf("s=%fn", fun(1000);/*/wf=fopen("debu

44、gout6.dat","w");fprintf(wf,"%lf",fun(1000);fclose(wf);/*/【参考代码】 double fun(int n) double s=0.0;int i;for(i=0;i<n;i+)if(i%5=0&&i%11=0)s=s+i;s=sqrt(s); /*Xs 求平方根 */return s;P=m!/(n!(m-n)!), 例如,m=12,n=8 时,运行结果为 495.000000.注意:局部源程序给出如下.请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括

45、号中填入所编写的假设干语句.试题程序:*/#include <stdio.h>#include <stdlib.h>float fun (int m, int n) /*Begin*/ /* End */)void main ()FILE *wf;printf ("p=%fn",fun (12,8);/*/wf=fopen("debugout8.dat","w");fprintf (wf,"%f",fun(13,8); fclose(wf);/*/ )【参考代码】int i;double p

46、=1.0;for(i=1;i<=m;i+)p=p*i; /*求 m!*/for(i=1;i<=n;i+)p=p/i; /* 求 m!/n!*/for(i=1;i<=m-n;i+)p=p/i;/* 求 m!/(n!(m-n)!)*/return p;/*编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根.Xn+1=cos(x n)迭代步骤如下:(1)取x1初值为0.0;(2)x0=x1,把x1的值赋给x0;(3)x1=cos(x0),求出一个新的 xl;(4)假设x0-x1,的绝对值小于0.000001,那么执行步骤(5),否那么执行步骤

47、(2);(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回.程序将输出结果Root=0.739085 .注意:局部源程序给出如下.请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的假设干语句.试题程序:*/#include <stdio.h> #include <math.h> float fun()/*Begin*/ /* End */)void main()FILE *out;float f=fun();printf("Root=%fn",f);/*/out =fopen("debugou

48、t11.dat","w");fprintf(out,"%f",f);fclose(out);/*/ )【参考代码】float x1=0.0,x0; do(x0=x1;x1=cos(x0);while (fabs(x0-x1)>=1e-6);return x1;/*输入一个无符号整数,判断该数是否为回文数(注:一个整数,从左向右读和从右向左读都是一样的数,那么该数称为回文数,如123321 ),编写函数fun(),判断给定的数是否为回文数*/#include<stdio.h>int fun( int n)/*Begin*/*En

49、d*/)int main()(FILE *out;int i,n,k4=123,123321,3443,200;out=fopen("debugout.dat","w");scanf("%d",&n);if(fun(n)printf("是回文数!n");elseprintf("不是回文数! n");for(i=0;i<4;i+)fprintf(out,"%dn",fun(ki);fclose(out);return 0;【参考代码】int m,t=0;m=n;w

50、hile(m!=0)t=t*10+m%10;m=m/10;if(t=n)return 1;elsereturn 0;/*编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传 入.S=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+ -+n)例如,假设n的值为11时,函数的值为1.833333.注意:局部源程序给出如下.请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的假设干语句.试题程序:*/#include <stdio.h>#include <string.h>#include <std

51、lib.h>float fun(int n) /*Begin*/ /* End */void main()FILE *wf; int n;float s;printf("nPlease enter N:");scanf("%d",&n);s=fun(n);printf("The result is:%fn ", s);/*/wf=fopen("debugout.dat","w");fprintf (wf,"%fn",fun(13);fclose(wf);/*/

52、【参考代码】int i,s1=0; /* 定义整型变量s1,表示分母*/float s=0.0;/*定义单精度变量s,表示每一项*/for(i=1;i<=n;i+) s1=s1+i; /*求每一项的分母*/s=s+1.0/s1;/*求多项式的值*/)return s;/*请编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中.合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上.例如,当a=45,b=12,调用该函数后,c=5241.注意:局部源程序给出如下.请勿改动main函数和其他函数中的任何内容,仅在函数f

53、un的花括号中填入所编写的假设干语句.试题程序:*/#include <stdio.h>#include<stdio.h>long int fun(int a ,int b) /*Begin*/ /* End */void main()int a,b,i;long c;FILE *out,*in;printf("Input a ,b:");scanf("%d%d",&a,&b);c=fun(a,b);printf("The result is :%ldn",c);/*/in=fopen(&quo

54、t;in.dat","r");out=fopen("debugout3.dat","w"); for(i=0;i<10;i+)fscanf(in,"%d %d",&a,&b);c=fun(a+11,b+22);fprintf(out,"%ldn",c);fclose(in);fclose(out);/*/ long fun(int a,int b) (return (a%10)*1000+(b%10)*100+(a/10)*10+b/10;)/*请编一个函数flo

55、at fun(double h),函数的功能是:对变量h中的值保存两位小数,并对第三位进行四舍五入(规定h中的值为正数)例如,假设h值为8.32433,那么函数返回8.32;假设h值为8.32533, 那么函数返回8.33.注意:局部源程序给出如下.请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的假设干语句.试题程序:*/#include <stdio.h>#include <stdlib.h>float fun (float h ) /*Begin*/ /* End */void main()FILE *wf,*in;float a;printf("Enter a:");printf("The original data is :");printf("%fnn", a);printf("The result : %fn", fun(a);/*/in=fopen("in.dat","r");wf=fopen("debugout9.dat",&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论