在计算机等级考试二级C语言程序设计试题中,多项式求值是一个重要的考点,有关多项式求值的试题在历年考试试卷的程序填空题和程序设计题中经常出现。一.示例讲解1.求给定多项式的前n项之和。 这类题目中,给定了需要计算的多项式的项数n,并且各项通常可以用数学式表示出来。因此,程序通常写成如下循环:for(i=1;i{ //按各项的数学式求出当前第i项 //将第i项累加到多项式和值上}例1 编写函数fun,它的功能是:计算序列1+1/2+1/3+...的前N项之和。 例如,若n=10,函数值为:2.928968。#includedouble fun(int n){ }
36、编写函数void fun(int*a,int*n),其功能是:求出100~999之间所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293),并将其放在a所指的数组中,通过n返回这些数的个数。#includevoidfun(int*a,int*n){}intmain(){intaa[1000],n,k;fun(aa,&n);for(k=0;k){printf("%5d",aa[k]);if((k+1)%10==0)printf("\n");}return0;}voidfun(int*a,int*n){inti,j,bw,sw,gw,cnt=0;for(i=101;i100
36、编写函数void fun(int*a,int*n),其功能是:求出100~999之间所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293),并将其放在a所指的数组中,通过n返回这些数的个数。#includevoidfun(int*a,int*n){}intmain(){intaa[1000],n,k;fun(aa,&n);for(k=0;k){printf("%5d",aa[k]);if((k+1)%10==0)printf("\n");}return0;}voidfun(int*a,int*n){inti,j,bw,sw,gw,cnt=0;for(i=101;i100
31、请编写函数voidfun(charxx[]),函数的功能是:将字符串数组xx中下标为奇数的字符按其ASCII值从大到小的顺序进行排序。例如:源字符串为:abcdefgh,则处理后字符串为:ahcfedgb。 #include#includestring.h>voidfun(charxx[]){}intmain(){charxx[81];printf("Enterastring:");gets(xx);printf("Theoriginalstringis:");puts(xx);fun(xx);printf("Thestringaftermodified:");puts(xx);retu
31、请编写函数voidfun(charxx[]),函数的功能是:将字符串数组xx中下标为奇数的字符按其ASCII值从大到小的顺序进行排序。例如:源字符串为:abcdefgh,则处理后字符串为:ahcfedgb。 #include#includestring.h>voidfun(charxx[]){}intmain(){charxx[81];printf("Enterastring:");gets(xx);printf("Theoriginalstringis:");puts(xx);fun(xx);printf("Thestringaftermodified:");puts(xx);retu
41、编写函数void fun(inta[],intb[],int*n),其功能是:找出数组a保存的100个四位数中的全部素数,将这些素数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,并通过形参n返回这些素数的个数。#include#includevoidfun(inta[],intb[],int*n){}intmain(){intaa[100],bb[100],n,i;for(i=0;i100;i++)aa[i]=rand()%9000+1000;printf("TheoriginalArrayis:\n");for(i=0;i100;i++){printf("%6d",a
41、编写函数void fun(inta[],intb[],int*n),其功能是:找出数组a保存的100个四位数中的全部素数,将这些素数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,并通过形参n返回这些素数的个数。#include#includevoidfun(inta[],intb[],int*n){}intmain(){intaa[100],bb[100],n,i;for(i=0;i100;i++)aa[i]=rand()%9000+1000;printf("TheoriginalArrayis:\n");for(i=0;i100;i++){printf("%6d",a
1、请写函数proc(),其功能是:求正整数x和y的最大公约。例如,程序执行时,若输入的两个正整数为12,24,则它们的最大公约数为12,最小公倍数为24。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所写的若干语句。#includeintproc(intx,inty){}intmain(){intnum1,num2,gcd;printf("\nInputtwonumbers:\n");scanf("%d%d",&num1,&num2);gcd=proc(num1,num2);printf("Greatestcommondiviso
1、请写函数proc(),其功能是:求正整数x和y的最大公约。例如,程序执行时,若输入的两个正整数为12,24,则它们的最大公约数为12,最小公倍数为24。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所写的若干语句。#includeintproc(intx,inty){}intmain(){intnum1,num2,gcd;printf("\nInputtwonumbers:\n");scanf("%d%d",&num1,&num2);gcd=proc(num1,num2);printf("Greatestcommondiviso
11、请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。例如,当n=10,x=0.3时,函数值为1.349859。注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#includedoublefun(doublex,intn){}intmain(){printf("%f\n",fun(0.3,10));return0;}doublefun(doublex,intn){doublesum=1,item=1;inti;for(i=1;i){item=item*x/i;sum+=item;}returnsum;}参考程序12、编写函数fun