




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
81第一套给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:2,在程序中定义的变量名要与公式的变量相同)。 例如,输入圆的半径值:19.527,输出为:s=598.949991。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。 试题程序: #include double fun( double r) return 3.14159*【1】/2.0;void main()double x;printf(Enter x: );scanf(%lf,【2】);printf(s=%lfn,fun(【3】);【参考答案】 (1)r*r (2)&x (3)x 【考点分析】 本题考查:圆面积计算公式*r*r;scanf( )函数的形式,其一般形式为scanf(格式控制字符串,地址表列);,注意地址是由地址运算符&后跟变量名组成的;printf( )函数的形式,其一般形式为printf(格式控制字符串,输出表列);函数实参调用,函数作为另一个函数调用的实际参数出现。 【解题思路】 填空1:计算圆的面积,公式为:*r。 填空2:scanf( )函数一般形式为scanf(格式控制,地址表列),因此填入&x。 填空3:函数的实际参数是圆的半径x。 下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+1)+f(0)+f(1)+f(2)+f(n)的值。 例如,当n为5时,函数值应为10.407143。f(x)函数定义如下: f(x)= 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include #include #include /*found*/f(double x) if(x=0.0|x=2.0) return 0.0; else if(x0.0) return(x-1)/(x-2); else return(x+1)/(x-2);double fun(int n) int i; double s=0.0,y; for(i=-n; i=n;i+) y=f(1.0*i); s+=y;/*found*/ return svoid main() system(CLS); printf(%fn, fun(5);【参考答案】 (1) 错误:f(double x) 正确:double f(double x) (2) 错误:return s 正确:return s; 【考点分析】 本题考查:函数的定义,其一般形式为类型标识符 函数名(形式参数表列),其中类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。 【解题思路】 该程序的流程是,fun( )程序对f(n)项循环累加,并且采用条件选择语句计算函数f(x)的值。本题的错误在于未定义函数f(double x)的返回值类型。C语言规定,在未显式声明的情况下,函数返回值默认为int型。编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。 S=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+n) 例如,若n的值为11时,函数的值为1.833333。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include #include float fun(int n) void main() FILE *wf; int n; float s; system(CLS); printf(nPlease enter N: ); scanf(%d,&n); s=fun(n); printf(The result is:%fn , s);/*/ wf=fopen(out.dat,w); fprintf (wf,%f,fun(11); fclose(wf);/*/【参考答案】 float fun(int n) 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; 【考点分析】 本题考查:计算给定表达式的值,根据题意判断表达式为1到n累加倒数之和。变量数据类型及强制转换操作。for循环语句,一般情况需要确定循环变量的取值范围。使用return语句完成函数值的返回。 【解题思路】 本题可以通过for循环语句来实现第1项到第n项的变化,然后计算各项的累加和。方法是先根据题目要求定义变量(注意该变量的数据类型),然后对其进行初始化操作,因为该变量用作累加器,所以初始值应为0(或0.0,根据变量数据类型来确定),再通过for循环语句来完成累加过程。 本题中s1用来表示式中每一项的分母,它可以由前一项的分母加项数得到。注意:由于s1定义成一个整型,所以在s=s+1.0/s1中不能把1.0写成1。 【解题宝典】 此类计算表达式值的程序,首先需要根据题意分析表达式的规律,得出通项,然后再完成程序语句。 第二套请补充main函数,该函数的功能是:计算两个自然数n和m(m10000)之间所有数的和(n和m从键盘输入)。 例如,当n=1,m=100时,sum=5050;当n=100,m=1000时,sum=495550。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序:#include #include #include void main() int n,m; long sum; 【1】; system(CLS); printf(nInput n,mn); scanf(%d,%d,&n,&m); while(n=m) 【2】;n+; printf(sum=%【3】n,sum);【参考答案】 (1) sum=0 (2) sum+=n (3) ld 【考点分析】 本题考查:变量初始化,需要注意该变量是累加器还是累乘器:printf( )函数,其一般形式为printf(格式控制符,输出表列)。其中,格式控制符用于指定输出格式,可由格式字符串和非格式字符串两种组成,格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等,如%ld表示按十进制长整型输出,非格式字符串在输出时原样照印,在显示中起提示作用。 【解题思路】 填空1:变量sum进行了类型声明,但没有进行初始化,而后面的程序用sum来存放最后的结果,所以要在使用前将sum初始化为0。 填空2:通过while循环将自然数n和m之间的数进行累加,结果存于sum中。 填空3:由于sum为长整型,所以标准输出函数printf( )中的格式控制符为%ld。 下列给定程序中,fun函数的功能是:根据形参m,计算下列公式的值: t=1+1/2+1/3+1/4+1/m 例如,若输入5,则应输出2.283333。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include #include #include double fun(int m) double t=1.0; int I; for(I=2;I=m;I+)/*found*/ t+=1.0/k;/*found*/ return I;void main()int m; system(CLS); printf(nPlease enter 1integer number: ); scanf(%d,&m); printf(nThe result is %1fn, fun(m);【参考答案】 (1)错误:t+=1.0/k; 正确:t+=1.0/I; (2)错误:return I; 正确:return t; 【考点分析】 本题考查:for循环语句的循环条件,这类题目的一般解法是根据题意确定循环变量的取值范围;函数返回值,其一般形式为return 表达式;,该语句的功能是计算表达式的值,并返回给主调函数。 【解题思路】 (1)该题目考查分母成等差数列递增的一个数学公式,我们先看循环条件for(I=2;I=m;I+),i从2开始递增到m,所以t的值应该是由1.0/i的值逐步循环叠加后的结果,而不是t+=1.0/k;。 (2)return I;考查对程序的解读能力,当循环结束后(由输入m的值决定),函数返回当前t的值。 请编写一个函数 void fun(char *tt,int pp),统计在tt字符串中a到z26个字母各自出现的次数,并依次放在pp所指数组中。 例如,当输入字符串abcdefghabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:#include #include #include void fun(char *tt,int pp )void main( ) FILE *wf; char aa1000; int bb26, k; system(CLS); printf(nPlease enter a char string : ) ; scanf(%s,aa); fun(aa,bb); for (k=0 ;k26 ; k+) printf(%d ,bbk) ; printf(n );/*/ wf=fopen(out.dat,w); fun (abcdefgabcdeabc,bb) ; for (k=0 ;k26 ; k+) fprintf(wf,%d ,bbk) ; fclose(wf);/*/【参考答案】 void fun(char*tt,int pp) int i; for(i=0;i=a&*tt=z) pp*tt-a+; /*将tt字符串中a到z26个字母各自出现的次数,依次放在pp数组中,任一个小写字母减去a后所得结果正好是它对应的下标*/ 【考点分析】 本题考查:统计小写字母在指定字符串中出现次数。for循环语句,需要注意循环变量的取值范围。if条件语句要注意条件表达式的判定。 【解题思路】 第1个循环的作用是初始化数组pp,未经赋值变量的量为一个不确定数字。由于它要将a到z26个字母的个数依次放到数组pp中,即a的个数存于pp0中,b的个数存于pp1中,c的个数存于pp2中,依此类推,而a-a的值正好为0,b-a的值为1,c- a 的值为2,依此类推。任一个小写字母减去a后所得结果正好是它对应的下标,所以就有了pp*tt-a+,但*tt必须是小写字母,即if( )不应省略。 。第三套给定程序的功能是:判断字符ch是否与串str中的某个字符相同,若相同什么也不做,若不同则插在串的最后。 注意:部分源程序给出如下。 请勿改动函数main和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。 试题程序: #include #include void fun (char *str,char ch) while (*str &*str !=ch) str+; if(*str【1】ch) str0=ch; 【2】=0; void main()char s81,c; system(CLS); printf(nPlease enter a string : );gets(s); printf(n Please enter the character to search : ); c=getchar(); fun(【3】); printf(nThe result is %sn,s);【参考答案】 (1) != (2) str1或*(str+1) (3) s,c 【考点分析】 本题考查:if语句,一般掌握条件表达式的判定。函数的调用,其一般形式为函数名(实际参数表)。 【解题思路】 填空1:根据题意若相同什么也不做,则应填入!=。 填空2:若不同则插在串的最后,那么0就在字符串的倒数第二了。 填空3:函数传递的参数为输入的两个字符串,则填入s,c。 下列给定程序中,函数fun的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串s输入:AaaaBBb123CCccccd,则应输出结果:upper=5,lower=9。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include#include/*found*/void fun(char *s,int a,int b)while(*s)/*found*/if(*s=A & *s=a & *s=z)b+;s+;main()char s100;int upper=0,lower=0;printf(nplease a string :);gets(s);fun(s,&upper,&lower);printf(n upper=%d lower=%dn,upper,lower);【参考答案】 (1) 错误:void fun(char *s, int a, int b) 正 确:void fun(char *s, int *a, int *b) (2)错误:a+;正确:(*a)+; (3)错误:b+;正确:(*b)+; 【考点分析】 本题考查:函数的参数传递和指针变量,理解指针变量作为函数的参数,函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中。 【解题思路】 (1)根据题中程序可以看出,函数fun传递的是地址,那么,在函数中就应该出现指针,所以改为void fun (char *s ,int *a, int *b)。 (2)和(3)很明显,这里是要累加数值,因为a、b是指针变量,所以是错误的。 请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串123412132,输入字符1,则输出3。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include #define M 81int fun(char *ss, char c) void main() FILE *wf; char aM, ch; system(CLS); printf(nPlease enter a string: ); gets(a); printf(nPlease enter a char: ); ch=getchar(); printf(nThe number of the char is: %dn, fun(a,ch);/*/ wf=fopen(out.dat,w); fprintf(wf,%d,fun(123412132,1); fclose(wf);/*/【参考答案】 int fun(char *ss, char c) int i=0; for(;*ss!=0;ss+) if(*ss=c) i+; /*求出ss所指字符串中指定字符的个数*/ return i; 【考点分析】 本题考查:字符串结束标识0;for循环语句,如何遍历字符串;通过if条件语句,判断是否相同。【解题思路】 从字符串ss中找出子字符串的方法是:从第1个字符开始,对字符串进行遍历;若ss串的当前字符等于t串的第1个字符,两字符串的指针自动加1,继续比较下一个字符;若比较至字符串的结尾,则跳出循环;若ss串的字符和c串的字符不对应相同,则继续对ss串的下一个字符进行处理。本程序是采用逐一比较的方式找出出现的次数。循环的作用是在串中从左到右逐一走动,if( )的作用是进行判断是否相同,若与c相同,则表示又出现一次。 第四套请补充函数fun,该函数的功能是:把ASCII码为偶数的字符从字符串str中删除,结果仍然保存在字符串str中,字符串str从键盘输入,其长度作为参数传入函数fun。 例如,输入abcdef,输出ace。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序:#include #include #define N 80【1】 int i, j; 【2】; for (i=0;in;i+) if(si%2!=0)sj+=si; 【3】;void main() int i=0, strlen=0; char strN; system(CLS); printf(nInput a string:n); gets(str); while(stri!=0) strlen+;i+; fun(str, strlen); printf(n* display string *n); puts (str);【参考答案】 (1) void fun(char s,int n) (2) j=0 (3) sj=0 【考点分析】 本题考查:函数定义,需要确定类型标识符、函数名和形式参数。变量初始化,变量声明后,要进行初始化赋值,我们对变量进行初始化时,必须确定好变量的作用。字符串结束标识0,用来结束字符串,是经常考查的知识点。 【解题思路】 填空1:由main函数调用函数fun的格式可以知道,函数fun没有返回值,第一个参数是字符数组,第二个参数是整型变量。 填空2:变量j声明时,没有初始化,所以在使用j之前要将它初始化为0。 填空3:当把所有ASCII码为偶数的字符都存入字符串s中后,要在最后加上0,表示字符串的结束。下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include #include long fun(long num)/*found*/ long k; do k *=num%10;/*found*/num =10; while(num); return(k);main() int n; printf(Please enter a number: ); scanf(%ld,&n); printf(n%ldn,fun(n);【参考答案】 (1)错误:long k;正确:long k=1;(2)错误:num=10; 正确:num/ =10;【考点分析】 变量初始化,保存乘积的变量初始化为1。 【解题思路】 (1)k用来存放各位数字的积,初值应为1。 (2)这里是一个符号错误,除号使用/来表示的。 请编写一个函数fun,它的功能是:求出1到m(含m)之内能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。 例如,若传给m的值为50,则程序输出: 7 11 14 21 22 28 33 35 42 44 49 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include#include#include#define M 100void fun(int m, int *a, int *n) void main() FILE *wf; int aaM,n,k; system(CLS); fun(50,aa,&n); for(k=0;kn;k+) if(k+1)%20=0) /*每行输出20个数*/ printf(%4d,aak); printf(n); else printf(%4d,aak); printf(n);/*/ wf=fopen(out.dat,w); for(k=0;kn;k+) fprintf(wf,%4d,aak); fclose(wf);/*/【参考答案】 void fun(int m, int *a, int *n) int i,j=0; for(i=1;i=m;i+) if(i%7=0|i%11=0) /*求出1到m(含m)之内能被7或11整除的所有整数放在数组a中*/ aj+=i; *n=j; /*返回这些数的个数*/ 【考点分析】 本题考查:整除的判断方法,用%对除数求余,若余数为0,表示能被整除。if语句条件表达式,注意逻辑与和逻辑或的区别。for循环语句,注意循环变量的取值范围。一维数组的定义与引用。 【解题思路】 本题要找出能被7或11整除的所有整数,注意数学中的或和C语言中的或的区别,在此处,if条件语句中用|运算符,若要找能同时被7和11整除的所有整数,则在if( )中,应用&运算符。 第五套请补充函数fun,该函数的功能是:判断某一个年份是否为闰年。 例如,1900年不是闰年,2004是闰年。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序:#include #include #include int fun(int n) int flag=0; if(n%4=0) if (【1】)flag=1; if (【2】)flag=1; return【3】;void main() int year; system(CLS); printf(Input the year:); scanf(%d,&year); if (fun(year)printf(%d is a leap year. n,year); elseprintf(%d is not a leap year.n,year);【参考答案】 (1) n%100!=0或n%100 (2) n%400=0 (3) flag 【考点分析】 本题考查:判断闰年的算法,年份能被4整除但不能被100整除,或者年份能被400整除。return语句,负责将函数值返回给主调函数。一般情况下,flag在C语言中作为一种标志来使用,本书中有多个题目都使用了flag标志。 【解题思路】 填空1:判断闰年的方法是,年份能被4整除但不能被100整除,或者年份能被400整除。n不能被100整除,即对100取余非零。 填空2:能被400整除的年份也是闰年,n能被400整除,即对400取余为零。 填空3:flag标记年份n是否为闰年,当flag为1时,是闰年,当flag为0时,不是闰年。 下列给定程序中函数fun的功能是:计算n!。例如,给n输入5,则输出120.000000。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include double fun(int n) double result =1.0; /*found*/ if n=0 return 1.0; while(n1&n170)/*found*/ result=n-; return result;void main() int n; printf(Input N:); scanf(%d,&n); printf(nn%d!=%lfn,n,fun(n);【参考答案】 (1)错误:if n=0 正确:if(n=0) (2)错误:result =n-;正确:result *=n-; 【考点分析】 本题考查:if语句,一般情况下,需要根据题目要求确定条件表达式的内容,同时需要注意其格式。计算阶乘的方法,n!=n*(n-1)!。 请编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。 例如,当a=45,b=12,调用该函数后,c=5241。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:#include #include void fun(int a ,int b,long *c) void main() int a,b; long c; FILE *out; printf(Input a ,b: ); scanf(%d%d,&a,&b); fun(a,b,&c); printf(The result is :%ldn,c); /*/ out=fopen(out.dat,w); fun(a+11,b+22,&c); fprintf(out,%ldn,c); fclose(out); /*/【参考答案】 void fun(int a,int b,long *c) *c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10; 【考点分析】 本题考查:如何取出数值n的各个位,主要是考查%和/的交换使用。两个整型数相除,/用来求得数的整数部分,%用来求余数。 【解题思路】 本题中主要的问题是怎么取出a和b的个位数和十位数,取出后怎么表示成c中相应的位数。由于a和b都是只有两位的整数,所以分别对它们除10可得到它们的十位数,分别用10对它们求余可得到它们的个位数。得到后对应乘以1000、100、10、1就可得到c的千位数、百位数、十位数和个位数。注意:使用c时要进行指针运算。 第六套请补充函数fun,函数fun的功能是求n的阶乘。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include long fun(int n) if (【1】)return(n*fun(【2】); return【3】;void main() printf(10!=%ldn,fun(10);【参考答案】 (1)n1或11和n=1这两种情况的处理方法不同,需要分开考虑。 填空2:阶乘的算法是,当n1时,n!=n*(n-1)!,即fun(n)=n*fun(n-1)。 填空3:n=1是递归的终止条件,返回值为1。 下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数的值为4622。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include #include #include int fun(int k) int m=0,mc=0, j; while(k=2)&(mc10) /*found*/ if(k%13=0)|(k%17=0) m=m+k;mc+; k-;/*found*/ return m;void main()system(CLS); printf(%dn ,fun(500); 【参考答案】 (1 )错误:if(k%13=0)|(k%17=0) 正 确:if(k%13=0)|(k%17=0) (2 )错误:缺少大括号正确:加 【考点分析】 本题考查:if语句,这类题目的一般解法是根据题意确定if语句的条件表达式,区别逻辑表达式和算术表达式。同时注意c语言书写程序应遵守的规则。 【解题思路】 (1)x能被y整除的表示方法是x%y=0,而并非像题目中所表示的x%y=0。所以,if(k%13=0)|(k%17=0)修改后的结果应该是答案所示信息。 (2)缺少程序完整所需的,此类信息在做题时一定要注意,我们可以在做题前先运行一下程序,这样明显的错误一般都会有错误信息显示出来,比如丢失的错误信息是Compound statement missing in function fun,并在当前错误处停止光标,我们只要按回车键进行编辑就可以了。 请编写函数fun,它的功能是计算: s=(ln(1)+ln(2)+ln(3)+ln(m)0.5 在C语言中可调用log(n)函数求ln(n)。 例如,若m的值为20,则fun函数值为6.506583。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:#include #include #include #include double fun(int m) void main() FILE *wf; system(CLS); printf(%fn ,fun(20);/*/ wf=fopen(out.dat,w); fprintf(wf,%f,fun(20); fclose(wf);/*/【参考答案】 double fun(int m) int i; double s=0.0; for(i=1;i=m;i+) s=s+log(i); return sqrt(s); /*计算s=ln(1)+ln(2)+ln(3)+ln(m)*/ /*对s求平方根并返回*/ 【考点分析】 计算表达式的值,一般都要定义一个变量sum作为累加(乘器),加法运算时赋初值为0,乘法运算时,赋初值为1,然后利用循环语句,使sum进行累加或累乘。 【解题思路】 题目要求计算从1到m的对数的和,可用从1到m的循环,每次循环都累加求和。该题需要注意之处是,log( )函数的形式参数应当为double型变量,而用于循环的基数变量为整数,需要进行强制转换,在返回的时候求出平方根。 第七套请补充函数fun,该函数的功能是:整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。 例如当x=20时,依次输出:20 10 4 2。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序:#include #include #include void fun(int k,int bb) int I; int j=0; for(【1】;I=0;I-)printf(%d ,bbI);void main() int k=1; int bb100; system(CLS); printf(nPlease input X=); scanf(%d,&k); fun(k,bb);【参考答案】(1)i=1 (2)k%i=0&i%2=0 (3)-j或j-1 【考点分析】 本题考查:for循环语句的循环初值,根据题意确定循环变量取值范围。if语句的条件表达式,根据题意确定条件表达式,本题的条件表达式应该既满足整除又满足偶数的条件。 【解题思路】 填空1:为了求出能整除k,且是偶数的数,寻找范围是从1到k。 填空2:如果i能整除k,则k对i求余为0,如果i为偶数,则i对2求余为0,由于这两个条件要同时满足,所以要使用与运算符&。 填空3:由于数组bb中的数是按从小到大的顺序排列的,而题目要求按从大到小输出,所以从数组的最后一个元素开始,依次输出。因为在for循环中,变量j多加了一次,所以这里要将j减1,得到数组最后一个元素的下标。 下列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如下公式的值: 请改正函数fun()中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include #include double fun(int m)double y=1.0; int I;/*found*/ for(I=2;Im;I+) /*found*/ y-=1/(I*I); return(y);void main()int n=5; system(CLS); printf(nThe result is %1fn, fun(n);【参考答案】 (1)错误:for(i=2;im;i+) 正确:for(i=2;i=m;i+) (2)错误:y-=1/(i*i); 正确:y-=1.0/(i*i); 【考点分析】 本题考查:for循环语句的循环条件,这类题目的一般解法是根据题意确定循环变量的取值范围。变量数据类型的强制转换,是通过类型转换运算来实现的。一般形式为:(类型说明符) (表达式),其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。 【解题思路】 该题是一道简单的计算题,循环条件for(i=2;im
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 侵权责任与权利界限(复习讲义)-2026年高考政治一轮复习解析版
- 2025年度汽车抵押贷款担保服务协议
- 2025年度房产买卖合同见证书及房屋租赁合同签订指南
- 2025年办公室装修设计与施工绿色建材采购合同
- 2025版电力设施施工合同专用条款及条款
- 2025橱柜定制与售后服务保障合同
- 2025版航空航天企业增资扩股技术合同
- 2025年度事业单位合并聘用合同范本:智能办公环境实施
- 2025年度国际多边投资担保机构业务操作规范合同
- 2025版陶瓷杯出口贸易代理合同
- 疗养协议合同
- 人工智能在财务预测中的应用-全面剖析
- 药品临床综合评价解读
- 输液反应应急预案及流程
- 计算机基础知识完整课件
- 针灸理疗院感风险评估与应对措施
- 水库巡查基本知识
- 动火作业安全培训题库
- 物业管理中的服务质量监控与改进机制
- 基于人工智能的班级管理创新研究
- 画法几何及工程制图教案
评论
0/150
提交评论