搜档网
当前位置:搜档网 › c语言上机历年真题库

c语言上机历年真题库

c语言上机历年真题库
c语言上机历年真题库

2011 年 9 月份计算机二级 C 语言上机题库第一套 1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun 的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第一处 struct student t; 第二处 for(i=0;i 0) 2 程序修改给定程序 MODI1.C 中函数fun 的功能是:在 p 所指字符串中找出 ASCII 码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。 /**found**/ q=p+i; /**found**/ while(q>p) 3 程序设计学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写了函数 fun,它的功能是:把指定分数范围内的学生数据放在 b 所指的数组中,分数范围内的学生人数由函数值返回。 int fun(STREC *a,STREC *b,int l,int h) {int i,j=0; for(i=0;i=1&&a[i].s<=h) b[j++]=a[i]; return j; } 第二套 1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数 fun 的功能是:删除链表中数据域值相同的结点,使之只保留一个。第一处 free(q); 第二处 q=p->next; 第三处

q=q->next; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:用选择法对数组中的 n 各元素按从小到大的顺序进行排序。 /**found**/ p=j;

/**found**/ p=i; 3.程序设计请编写一个 fun 函数,它的功能是:求出 1 到 m 之间(含 m)能被 7 或 11 整除的所有整数放在数组 a 中,通过 n 返回这些数的个数。 void fun(int m,int *a,int *n) { int i; *n=0;

for(i=7;i<=m;i++) if((i%7==0)||(i%11==0)) a[(*n)++]=i; } 第三套 1.程序填空函数 fun 的功能是:逆置数组元素是的值。例如:若 a 所指数组中的数据依次为:1、2、 3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、 4、3、2、1。形参 n 给出数组中数组中数据的个数。第一处

for(i=0;i

n=n*8+*p-‘0’; 3.程序设计学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写了函数 fun,它的功能是:函数返回指定学号的学生数据,指定的学生号在主函数中输入,若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是 strcmp)。 STREC fun(STREC*a,char *b) { STREC c; Int i; c.num[0]=’\0’; c.s=-1; for(i=0;i

if(strcmp(a[i].num,b)==0) {strcpy(c.num,a[i].num); c.s=a[i].s;break;} return c; } 第四套 1 程序填空给定程序中,函数 fun 的功能是:在带有头结点的单向链表中,查找数据域中值为 ch 的结点。找到后通过函数值返回该结点在链表中所处的顺序号:若不存在值为 ch 的结点,函数值返回 0.第一处 while(p!=0) 第二处 if(p->data==ch)return n; 第三处

k=fun(head,ch); 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:删除 p 所指字符串的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用‘#’结束输入。 /**found**/ for(i=0,t=0;p[i];i++)

/**found**/ c[t]=’\0’; 3.程序设计请编写一个函数 fun,将 ss 所指字

符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。 void fun(char *ss) { int i; for(i=1;i

{if(ss[i]>=’a’&&ss[i]<=’z’) ss[i]-=32; } } 第五套 1.程序填空给定程序中,函数 fun 的功能是:计算下式前 n 项的和作为函数值返回。例如:当形参 n 的值为 10 的时,函数返回:9.6125588。第一处 s=0; 第二处

for(i=1;i<=n;i++) 第三处 s=s+(2.0*i-1)*(2.0*i+1)/(t*t); 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:统计 substr 所指字符串在 str 所指字符串中出现伯次数。 /**found**/ for(i=0;str[i];i++) /**found**/

if(substr[k+1]==’\0’) 3.程序设计请编写一个函数 fun,它的功能是:根据以下公式求 JI 的值(要求满足精度 0.0005,即某项小于 0.0005 时停止送代):程序运行后,如果输入精度为 0.0005,则程序输出为 3.14…。 1. double fun(double eps) { double s=1,t=1./3; int n=1; while(t>=eps)

{s+=t;n++;t=t*n/(2.0*n+1) ;} return(s*2.0); } 第六套 1.程序填空给定程序中,函数 fun 的功能是:将形参 s 所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。第一处

t[j]=s[i];j++; 第二处 for(i=0;i

a->score[i]+=1; 第三处 return a; 2.程序修改给定程序 MODI1.C 中函数fun 的功能是:从 N 个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放在一个字符串数组中。 /**found**/ char *fun(char (*sq)[M]) /**found**/ return sp; 3.程序设计函数 fun 的功能是:将 a、中的两位正整数合并形成 b 一个新的整数放在 c 中。合并的方式是:将 a 中的十位和个位依次放在变量 c 的百位和个位上,b 中的十位和个位数依次放在变量 c 的十位和千位上。 #include void

fun(int a,int b,long *c) { *c=(b%10)*1000+(a/10)*100 +(b/10)*10+a%10; } 第八套 1.程序填空函数 fun 的功能是:将形参观者工所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参 n 中存放数组中数据的个数,若 n 为奇书,则中间元素不动。第一处 p=(n%2==0)?n/2:n/2+1; 第二处 a[i]=a[p+i]; 第三处 a[p+i]=t; 2.程序修改给定程序 MODI1.C 中函数fun 的功能是:把主函数中输入的三个数,最大的放在 a 中,最小的放在 c 中,中间的放在 b 中。 /**found**/ float k; /**found**/ if(*a<*c) 3.程序设计学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写了函数 fun,它的功能是:把分数最高的学生数据放在 b 所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最

高的学生的人数。 int fun(STREC *a,STREC *b) { int i,max=a[0].s,n=0; for(i=1;i

if(max==a[i].s)b[n++]=a[i]; return n; } 第九套 1.程序填空给定程序中,函数 fun 的功能是:计算形参 x 所指数组中 N 个数的平均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至数据的前部,大于等于平均数的移至 x 所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第一处 for(i=0;i

y[j]=x[i]; x[i]=-1;j++;} 第三处 i++; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:统计字符串各元音字母(即:A、E、 I、O、U)的个数。注意字母不分大小写。 /**found**/ num[k]=0; /**found**/ switch(*s) 3.程序设计请编写函数 fun,函数的功能是:求出二级数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。 int fun(int a [M][N]) { int tot=0,i,j; for(i=0;i

for(i=1;ia[i].s){ j=0; b[j++]=a[i];min=a[i].s; } else if(min==a[i].s) b[j++]=a[i]; } return j; } 第十一套 1.程序填空给定程序中,函数 fun 的功能是:计算形参 x 所指数组中 N 个数的平均值,(规定所有数均为正数),将所指数组中大于平均值的数据移至数据的前部,小于等于平均数的移至 x 所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第一处 av=s/N; 第二处

y[j++]=x[i];x[i]=-1;} 第三处 if(x[i]!=-1) y[j++]=x[i]; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:读入一行英文文本行,将其中每个单词的第一个字母改成大写,然后输出次文本行(这里的“单词”是指由空格隔开的字符串)。 /**found**/ #include /**found**/ upfst (char *p) 3.程序设计程序定义了N×N 的二级数组,并在主函数中赋值,请编写函数 fun,函数的功能是:求出数组周边元素的平均值并作出函数值饭给主函数中的 s。 double fun(int w[][N]) { int i,j,n=0; double sum=0;

for(i=0;i

if((fp=fopen(fname,”r”))==NU LL) 2.程序修改给定程序 MODI1.C 中函数

fun 的功能是:将 n 个无序整数从小到大排序。 /**found**/

for(i=j+1;i void fun(int a,int

b,long *c) { *c=(b%10)*1000+(a%10)*100 +(b/10)*10+(a/10);} 第十三套 1.程序填空给定程序中,函数 fun 的功能是:找出 N*N 矩阵中每列元素中的最大值,并按顺序一次存放于形参 b 所指的一维数组中。第一处

b[i]=a[0][i]; 第二处 if (b[i]

2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:交换主函数中的两个变量的值。 /**found**/ int fun(int *x,int *y) /**found**/ t=*x;*x=*y;*y=t; 程序设计编写函数 fun,函数的功能是求出小于或等于 lim 的所有素数并放在 aa 数组中,函数返回所求出的素数的个数。函数 fun 中给出的语句仅供参考。 #include #define MAX100 int fun(int lim,int aa[MAX]) {int i,j,k=0; for(i=2;i<=lim;i++) { for(j=2;j<=(i/2);j++) if(i%j==0)break; if(j>(i/2))aa[k++]=i; } return k;} 第十四套 1.程序填空函数 fun 的功能是进行字母转换。若形参 ch 中小写英文字母,则转换成相应的大写英文字母;若形参 ch 中是大写英文字母,则转换成相应的小写英文字母;并将转换的结果作为函数值返回。第一处if((ch>=’a’)&&(ch<=’z’)) 第二处return ch+’a’-‘A’ 第三处 return ch; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:给一维数组 a 输入任意四个整数并按下列的规律输出。例如输出 1、 2、3、4,程序输出一下方阵。 a) 1 2 3 3 4 1 2 2 3 4 1 1 2 3 4 /**found**/ void fun(int *a) /**found**/ a[j]=a[j-1];

3.程序设计请编写函数 fun,函数的功能是:计算并输出给定整数 n 的所有因子(不包过 1 和 n 本身)之和。规定 n 的值不大于 1000. int fun(int n) { int s=0,i; for(i=2;i

fun 的功能是:求s=aa…aa—…—aaa—aa—a 此(处aa…aa 表示 n 个 a,a 和 n 的值在 1 至 9 之间)。 /**found**/ long s=0,t=0;

/**found**/ t=t/10; 3.程序设计请编写一个函数 void fun(char*tt,int pp[ ]),统计在 tt 所指字符串中‘a’至‘z’ 26 个小写字母各自出现在的次数,并依次放在 pp 数组中。 void fun(char*tt, int pp[ ]) { char *p=tt; int i; for(i=0;i<26;i++) pp[i]=0; while(*p) {if(*p>=’a’&&*p<=’z’) pp[*p-‘a’]+=1; p++; } } 第十六套 1.程序填空人员的记录由编号和出生年、月、日组成,N 名人员的数据已在主函数中存入结构体数组 std 中,且编号唯一。函数 fun 的功能是:找出指定编号人员数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中编号为空串。第 1 处 STU

fun(STU *std, char *num) 第 2 处 if(strcmp (std[i].num, num) = =0) 第 3 处 return (std[i]); 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:从 s 所指字符串中,找出与 t 所指字符串相同的子串的个数作为函数值返

回。 /**found**/ r++; p++; /**found**/ if(*r= =0) 3.程序设计 3 函数 fun 的功能是:将 s 所指字符串中 ASCII 值为偶数的字符删除,串中剩余字符形成一个新串放在 t 所指数组中。 #include #include void fun (char*s, char t[]) { int i, j=0; for(i=0;i

if(s[i]%2) t[j++]=s[i]; t[j]=0; } 第十七套 1.程序填空给定程序中,函数 fun 的功能是:统计形参 s 所指字符串中数字字符出现的次数,并存放在形参 t 所指的变量中,最后在主函数中输出。例如,形参 s 所指的字符串为:abcdef35adgh3kjsdf7 。输出结果为:4。第1处 for(i=0;s[i]!=NULL;i++) 第2处if(s[i]>=’0’&&s[i]<=’9’) n++; 第 3 处 *t=n; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:通过某种方式实现两个变量的交换,规定不允许增加语句和表达式。例如变量 a 中的值原为 8, b 中的值原为 3,程序运行后 a 中值为 3,b 中的值为 8./**found**/ t=*x;*x=y; /**found**/ return(t); 3.程序设计请编写函数 fun,函数的功能是:求出 1 到 1000 之间能被 7 或 11 整除,但不能同时被 7 和 11 整除的所有整数并将它们放在 a 所指的数组中,通过 n 返回这些数的个数。 #include viod fun (int *a,int *n) {int i; *n=0; for(i=7;i<1000;i++) if(((i%7)=

=0││(i%11)= =0 &&(i%77)!=0) a[(*n)++]=i; } 第十八套 1.程序填空给定程序中,函数 fun 的功能是:有N×N 矩阵,根据给定的 m(m<=n)值,将每行元素中的值均右移 m 个位置,左边值为 0.第 1 处 for(i=0;i

while((2<=high)&&(n<10)) /**found**/ yes=0;break; 3.程序设计请编写函数 fun,函数的功能是:利用一下所示的简单迭代方法求方程求方程: cos (x)-x=0 的一个实根。n+1=cos x (xn)迭代步骤如下:(1)取 x1 的初值为 0.0;(2)x0=x1,把 x1 的值赋给 x0; x1=cos (3)(x0),求出一个新的 x1;(4)若 x0-x1 的绝对值小于 0.000001 执行步骤(5)否则执行步骤(2)(5)所求 x1 ;就是方程 cos(x)-x=0 的一个实根作为函数值返回。程序将输出结果为:Root=0.739058。 float fun() { float x0,x1=0.0; do{ x0=x1; x1=cos(x0); }while(fabs(x0-x1)>0.000001); return x1; } 第十九套 1.程序填空给定程序中,函数 fun 的功能是:将 a 所指的3×5 矩阵中第 k 列的元素左移到第 0 列,第 k 列以后的每列元素行依次左移,原来左边的各列依次绕到右边。第 1 处 for(p=1;p<=k;p++) 第 2 处 for(j=0;j

a[i][j]=a[i][j+1]; 第 3 处 a[i][N-1]=temp; 2.程序修改给定程序

MODI1.C 中函数 fun 的功能是:根据形参 m 的值(2<=m<=9),在 m 行 m 列的二维数组中存放如下所示规律的数据,由 main 函数输出。例如,若输入 2 则输出: 1 2 2 4 /**found**/ fun(int a[][M],int m) /**found**/

a[j][k]=(k+1)*(j+1); 3.程序设计函数 fun 的功能是:将 a、中的两位正整数合并形成 b 一个新的整数放在 c 中。合并的方式是:将 a 中的十位和个位依次放在变量 c 的十位和千位上,b 中的十位和个位数依次放在变量 c 的个位和百位上。 void fun(int a,int b,int*c) { *c=(a%10)*1000+(b%10)*100 +(a/10)*10+(b/10); } 第二十套 1.程序填空给定程序中,函数 fun 的功能是:对形参 s 所指字符串中下标为奇数的字符 ASCII 码大小递增排序,并将排序后的下标为奇数的字符取出,形成一个新串。第 1 处 t=i; 第 2 处

for(j=i+2;j

/**found**/ while((fabs(t))>=num) /**found**/ t=s/n 3.程序设计请编写一个函数 void fun(char a[ ],char b[ ],int n),其功能是:删除一个字符串指定下标的字符。其中,a 指向原字符串,删除指定字符后的字符串放在 b 所指的 n 中存入指定的下标。 viod fun (char a[ ],char b[],int n){ strncpy (b,a,n); b[n]=0; strcat(b,a+n+1); } 第二十一套 1.程序填空给定程序中,函数 fun 的功能是:在形参 ss 所指字符串数组中,将所有串长超过 k 的字符串右边的字符删去,只保留左边的 k 个字符。ss 所指字符串数组中共有 N 个字符串,且串小于 M。第一处 void fun(char (*ss)[M], int k) 第二处 while (in)

{ i=n;j=k; for(;a[j]!=0;j++) a[i++]=a[j]; a[i]=0; }} 第二十二套 1.程序填空给定程序中,函数 fun 的功能是:所指4×3 矩阵中 a 第 k 行的元素与第 0 行元素交换。例如:有下列矩阵 1 2 3 4 5 6 7 8 9 10 11 12 若 k 为 2,程序执行结果为 7 8 9 4 5 6 1 2 3 10 11 12 第一处 void fun(int (*a)[N],int k) 第二处 for(i=0;i

/**found**/ if(t[j]>t[j+1]) 3.程序设计请编写函数 fun,函数的功能是:ss 所指字符串中将所有下标为奇数位置上的字母转换为大写(若该位置上不4 是字母,则不转换)。 void fun(char *ss) { char *p=ss; inr i=0; while(*p){ if((i%2)&&(*p>=’a’ &&*p<=’z’)) *p-=32; p++; i++; } } 第二十三套 1.程序填空给定程序的功能是:调用函数 fun 将指定源文件中的内容复制到指定的目标文件中,复制成功时函数的返回值是 1,失败是返回值是 0.在复制的过程中,把复制的内容输出到终端屏幕。主函数源文件名放在变量 sfname 中,目标文件放在变量 tfname 中。第一处

if((fs=fopen(source,”r”))==NU LL) 第二处 while(!feof(fs)) 第三处fputc(ch,ft); 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:将长整型中每一位上为偶数的数依次取出,构成一个新数放在 t 中。高位仍在高位,低位仍在低位。 /**found**/ if(d%2==0) /**found**/ s/=10; 3.程序设计函数 fun 的功能是:将两位正整数 a、合并形成一个 b 新的整数放在 c 中。合并的方式是:将 a 中的十位和个位依次放在变量 c 的十位和千位上,b 中的十位和个位数依次放在变量 c 的百位和个位上。 void fun(int a,int

b,long*c) { *c=(a%10)*1000+(b/10)*100+( a/10)*10+(b%10); 第二十四套 1.程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课

的成绩。函数 fun 的功能是将形参 a 所指结构体变量中的数据赋给函数中的结构体变量 b,并修改 b 中的学号和姓名,最后输出修改后的数据。第一处 b=a; 第二处 strcpy(https://www.sodocs.net/doc/5312277992.html,,”LiSi”) 第三处 for (i=0;i<3;i++)

printf(“%6.2f”,b.score[i]); 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:从 s 所指字符串中删除所有小写字母 c。请改正程序中的错误,使它能计算出正确的结果。/**found**/ s[j++]=s[i]; /**found**/ s[j]=’\0’;

3.程序设计假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串的前导*号全部移到字符串的尾部。函数 fun 中给出的函数仅供参考。void fun(char *a) { char *p,*q; int n=0; p=a; while(*p==’*’) {n++;p++;} q=a; while(*p){ *q=*p; p++;q++; } for(;n>0;n--) *q++=’*’; *q=’\0’; } 第二十五套 1.程序填空用筛选法可得到 2—n (n<10000)之间的所有素数,方法是:首先从素数 2 开始,将所有 2 的倍数的数从数表中删去(把数表中相应位置的值置成 0)接着从数表中找下一;个非 0 数,并从数表中删去该数的所有倍数,依此类推,直到所找的下一个数等于 n 为止。这样会得到一个序列:2、 3、 7、 13、 19、 5、 11、 17、23…… 函数 fun 用筛选法找出所有小于等于 n 的素数,并统计素数的个数作为函数值返回。第一处 for(j=a[i]*2;j<=n;j+=a[i]) 第二处 while(a[i]= =0) 第三处 if(a[i]!=0) 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。 /**found**/ y=1; /**foune**/ d=a-i; 程序设计请编写函数 fun,它的功能是:计算并输出 n(包括 n)以内能被 5 或 9 整除的所有自然数的倒数之和。 double fun(int n) { int i; double sum=0.0;

for(i=1;i

fun(int(*a)[N]) 第二处 for(j=i;j

a[k][i]=a[k][N-i-1]=i+1; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:将十进制正整数 m 转换成 k(2<=k <=9)进制数,并按高位到低位顺序输出。/**found**/ aa[i]=m%k; /**found**/ printf(“%d”,aa[i-1]); 3.程序设计编写一个函数,从 num 个字符串中找出最长的一个字符串,并通过形参指针 max 传回该串地址。(注意:主函数中用 ****作为结束输入的标志,函数 fun 中给出的语句仅供参考)。 fun(char (*a)[81],int num,char **max) { int i,k=0,maxlen; maxlen=strlen(a[k]); for(i=1;imaxlen) {maxlen=strlen(a[i]); k=i; } } *max=a[k]; } 第二十七套 1.程序填空函数 fun 的功能是计算f (x)=1+x-2/2!+3/3!-4/4!+……的前 n 项和。若 x=2.5,n=15 时,函数值为 1.917914。 3.第一处f=1; 第二处 t*=(-1)*x/i; 第三处 f+=t; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:从三个红球,5 个白球,6 个黑球中任意取出 8 个作为一组,进行输出。在没组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是 15.程序中 i 的值代表红球数,j 代表白球数,k 代表黑球数。 /**found**/ for(i=1;i<=3;i++) /**found**/

if(k>=0&&k<=6) 3.程序设计请编写函数 fun,它的功能是:计算并输出下列多项式的值: sn=1+1/1 !+1/2!+1/3!+1/4!+……1/n!。例如:在主函数

中从键盘给 n 输入 15,则输出为: s=2.718282。注意:要求 n 的值大于 1 但不大于 100。double fun(int n) { double s=1’ long t=1; int i;

for(i=1;i<=n;i++){ t=t*i; s+=1.0/t;} return s; } 第二十八套 1.程序填空给定程序中,函数 fun 的功能是:计算 N*N 矩阵的主对角线元素和方向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反响对角线元素的值。第一处 sum=0; 第二处 sum+=t[i][i]; 第三处 sum+=t[i][n-i-1]; 2.程序修改给定程序 MODI1.C 中函数 fun 和

funx 的功能是:用二分法求方程 2x3-4x2+3x-6=0 的一个根,并要求绝对误差不超过 0.001。 /**found**/ double r; /**found**/

while(fabs(n-m)>0.001) 3.程序设计假定输入的字符串中只包含字母和*号。请编写 5 函数 fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参 h 已指向字符串中的第一个字母,形参 p 已指向字符串中最后一个字母。在编写函数时,不得使用 c 语言提供的字符串函数。 void fun(char *a,char *h,char *p) { int j=0; char *q=a;

while(*q&&q=0;j--) 第三处 t[j][N-1]=r[j]; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:计算 s=f (-n)+f(-n+1)+……+f(0) +f(1)+f(2)+……f(n)的值。例如,当 n 为 5 时,函数值应该是:10.407143。 /**found**/ double f(double x) /**found**/ return s; 3.程序设计编写一个函数 fun,它的功能是计算: s=根号下(ln (1)+ln(2)+ln(3)+…… ln(m)作为函数返回,在)S C 语言中可以调用 log(n)求 ln(n)。log 函数引用说明是:Double log(double x)例如,若 m 的值为:20,fun 函数值为:60506583。double fun(int m) { double s=0.0; int i; for(i=0;i<=m;i++) s+=log(1.0*i); s=sqrt(s); return s; } 第三十套 1.程序填空函数 fun 的功能是:反形参 a 所指数组中的奇数按原顺序依次存放到 a[0]、a[1]、a [2]……中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若 a 所指数组中的数据最初排列为:9、1、4、2、 3、6、5、8、7,删除偶数后 a 所指数组中的数据为:9、1、 3、5、7,返回值为 5。第一处 if(a[i]%2==1) 第二处 j++; 第三处 return j; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。 /**found**/ t=a;a=b;b=t; /**found**/ return (b); 3.程序设计假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用 C 语言提供的字符串函数。 void fun(char *a) { int j=0; char *p=a; while(*p){ if(*p!=’*’) a[j++]=*p; p++; } a[j]=0; } 第三十一套 1.程序填空给定程序中,函数 fun 的功能是:在形参 ss 所指字符串数组中,删除所有串长超过 k 的字符串,函数返回所剩字符串的个数。所指字符串数Ss 组中共有 N 个字符串,且串长小于 M。第一处 for(i=0;i

MODI1.C 中函数 fun 的功能是:逐个比较 p、q 所指两个字符串对应位置中

的字符,把 ASCII 值或相等的字符依次存放在 c 所指数组中,形成一个新的字符串。 /**found**/ int k=0; /**found**/ while(*p||*q) 3.程序设计假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:除了字符串前导*号之外,将串中其它*号全部删除。在编写函数时,不得使用 C 语言提供的字符串函数。函数 fun 中给出的语句仅供参考。 void fun(char *a) { int i=0,k; while(a[i]!==’*’)i++; k=i; while(a[i]!=’\0’)

{ if(a[i]!=’*’) a[k++]=a[i]; i++; } a[k]=’\0’; } 第三十二套 1.程序填空给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数 fun 的功能是:把形参 x 的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。第一处s->data=x; 第二处 q=p; 第三处 q->next=s; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:计算正整数 num 的各位上的数字之积。 /**found**/ long k=1; /**found**/ num/=10 3.程序设计请编写函数 fun,它的功能是:计算 n 门课程的平均分,计算结果作为函数返回。 float fun(float *a,int n) { 2. int i; float ave=0.0; for(i=0;i

if(strstr(ss[i],substr)!= NULL) 第三处 if(find==0) 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:求三个数的最小公倍数。 /**found**/ fun(int x,int y,int z) /**found**/ return j; 3.程序设计假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参 n 给出了字符串的长度,形参 h 给出了字符串中前导* 号的个数。在编写函数时,不得使用 C 语言提供的字符串函数。 void fun(char *a,int n,int h,int e) { char *p=a; int j=0,len=0; while(*p){p++;len++;} while(jnext;第三处 fun(head,&num); 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:求出 s 所指字符串最后一次出现的 t 所指字符串的地

址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值 NULL。 /**found**/ a=NULL; /**found**/ if(*r==*p) 3.程序设计函数 fun 的功能是:将 s 所指字符串中除了下标为偶数,同时 ASCII 指也为偶数的字符外,其余的全部都删除:串中剩余字符所形成的一个新串放在 t 所指的数组中。 void fun(char *s,char t[ ]) { int i,j=0;

for(i=0;i

if(ch>=’0’&&ch<=’9’) 第三处return ‘9’-(ch-‘0’); 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:将 p 所指字符串中所有字符复制到b 中,要求复制第三个字符之后插入一个空格。 /**found**/ b[k]=*p;

/**found**/ b[k++]=’ ‘; 3.程序设计 N 名学生的成绩已在主函数中放入一个带头结点的链表结构中,h 指向链表的头结点。请编写函数 fun,它的功能是:求出平均分,有函数值返回。 double fun(STREC *h) { STREC

*p=h->next; double av=0.0; int n=o; while(p!=NULL) { av=av+p->s;

p=p->next; n++; } av/=n; return av; } 第三十七套 1.程序填空函数 fun 的功能是:把形参 a 所指数组中的偶数按原顺序依次存放 a[0]、a[1]、

a[2]……中,把奇数从数组中删除,偶数个数通过函数值返回。第一处

if(a[i]%2==0){ 第二处 a[j]=a[i];j++; 第三处 return j; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:按以下递推公式求函数值。例如,当给n 输出 5 时,函数值为 18;当给 n 输入 3 时,函数值为 14./**found**/ fun(int n) /**found**/ if(n==1) 3.程序设计假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:使字符串中尾部的*号不得多于 n 个;若多于 n 个则删除多余的*号;若少于或等于 n 个,则什么也不做,字符串中间和前面的* 号不删除。 void fun(char *a,int n) { char *p=a; int j=0; while(*p)p++;p--; while(*p==’*’)p--; p++; while(j

tp=ps[i];ps[i]=ps[k];ps[k ]=tp; 2.程序修改已知一个数列从第 0 项开始的前三项分别是 0、0、1 以后的各项都是它相邻的前三项之和。给定程序MODI1.C 中函数 fun 的功能是:计算并输出该数列前 n 项的平方根之和。 n 的值通过形参传入。 /**found**/ double fun(int n) /**found**/ return sum;

3.程序设计请编写函数 fun,它的功能是:计算下列级数和,和值由函数值返回。例如,当 n=10 , x=0.3 时,函数值为 1.349859。 double

fun(double x,int n) {double s=1.0,y=x; int i; for(i=1;i<=n;i++)

{ s+=y/(double)jc(i); y*=x; } return s; } 第三十九套 1.程序填空给定程序中,函数 fun 的功能是:计算 x 所指数组中 N 个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。第一处 *av=s/N; 第二处

d=*av-x[i];j=i;} 第三处 return x[j]; 2.程序修改给定程序 MODI1.C 中函

数 fun 的功能是:根据整型形参 n 计算如下公式的值。例如:若 n=10,则应输出: 0.617977. /**found**/ float fun(int n) /**found**/

for(i=2;i<=n;i++) 3.程序设计程序定义了N×N 的二维数组,并在主函数中自动赋值,请编写函数 fun,它的功能是:使数组右上三角元素中的值乘以 m。 int fun(int a[][N],int m) { int i,j; for(i=0;i

for(j=i;j

s[i]=t1[i]; 第三处 for(i=0;i

/**found**/ for(j=i+1;j<6;j++) /**found**/ *(pstr+i)=*(pstr+j); 3.程序设计请编写函数 fun,它的功能是:求出 ss 所指字符串中指定字符个数,并返回次值。 int fun(char *ss,char c) { int cnt=0; char *p=ss;

while(*p){ if(*p==c)cnt++; p++; } return cnt; } 第四十一套 1.程序填空给定程序中,函数 fun 的功能是:将形参 s 所指定字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。第1处

if(isdigit(*s))sum+=*s-48; 第 2 处 s++; 第 3 处 return sum; 2.程序修改给定程序 MODI1.C 中函数 fun 的功能是:计算小于形参 k 的最大的 10 个能被 13 或 17 整除的自然数之和。 K 的值由主函数传入, K 的值若为500.则主函数为 4622。/**found**/ if((k%13= =0││(k%17= =0))

/**found**/ } 3.程序设计请编写函数 fun,它的功能是:求小于形参 n 同时能被 3 和 7 整除的所有自然数之和的平方根,并作函数的返回值。double fun(int n) { double sum=0.0; int i; for(i=21;i<=n;i++) if((i%3= =0)&&(i%7= =0))sum +=i; return sqrt(sum); } 第四十二套 1 程序填空给定程序中,函数 fun 的功能是:将不带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表节点数据域从头到位的数据为 10、 2、 4、 8、6,排序后链表结点数据域从头至尾的数据为 2、 6、 4、 8、 10.第 1 处

q=p->next; 第 2 处 while(q) 第 3 处 p=p->next; 2 程序修改给定程序MODI1.C 中函数 fun 的功能是:将 s 所指字符串中的字母转换为按字母顺序的后续字母(但 Z 转化成 A,z 转换为 a),其它字符不变。 /**found**/ while(*s) /**found**/ s++; 3 程序设计 void fun(int*w, int p, int n) { int i,j=0,b[N]; for(i=p+1;i

b[j++]=w[i]; for(i=0;i

3 处 return 1; 2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:根据整型形参 m 计算如下公式的值。 /**found**/ t=t-1.0/i; /**found**/ return t; 3 程序设计请编写一个函数,函数的功能是:删除字符串中所有的空格。 int fun(char *str) { char *p=str; int i=0;

while(*p){ if(*p!=’ ’)str[i++]=*p; p++; } str[i]=0; } 第四十四套 1 程序填空给定程序中,函数 fun 的功能是: N 乘以 N 矩阵中元素的将值按列右移一个位置,右边被移出矩阵的元素绕回左边。第 1 处 for(i=0;i

第 2 处 x=t[i][N-1]; 第 3 处 t[i][0]=x; 2 程序修改给定程序 MODI1.C

中函数 fun 的功能是:计算并输出下列级数的前 n 项的和 Sn, 直到 Sn+1 大于 q 为止,的值 q 通过形参传入。 /**found**/ s=s+(n+1.0)/n;

/**found**/ return t; 3 程序编写编写函数 fun,它的功能是:求 Fibonacci 数列中大于 t 的最小一个数,结果由函数返回。其中 Fibonacci 数列 F(n)定义为 F(0)=0,F(1)=1,F(n)。。。 int fun(int t) { int f0=0,f1=1,f; do {f=f0+f1; f0=f1; f1=f; }while(fnext; 第 2 处 if (p= =0) return; 第 3 处 p=q;q=r; 2 程序修改给定 MODI1.Cfun 函数的功能是:计算 s 所指字符串中含有 t 所指字符串的数目,并作为函数值返回。请改正函数 fun 中指定部位的错误,使它能得出正确的结果。 /**found**/ r=t; /**found**/

if(*r= =0) 3 程序设计请编写函数 fun,函数的功能是:将放在字符串数组中的 M 个字符串(每串的长度不超过 N),按顺序合并组成一个新的字符串,函数 fun 中给出的语句提供参考。 void fun (char a[M][N]),char *b) {int i;*b=0; for(i=0;i=xa) 3 程序设计编写函数 fun,其功能是:根据以下公式求 p 的值,结果由函数值带回。m 与 n 为两个正整数且要求 m>n。

p=m!/(n!*(m-n)!) float fun(int m, int n) { float p;

p=1.0*jc(m)/jc(n)/jc(m-n); return p; } 第四十七套 1 程序填空函数 fun 的功能是:计算 2 3 4 f(x)=1+x-x ∕2!+x ∕3!-X /4! n -6 直到∣x /n!∣<10 若 x=2.5,函数值为:1.917915。第 1 处 t=x 第 2 处

t*=(-1.0)*x/n; 第 3 处 while(fabs(t)>=1e-6) 2 程序修改给定程序

MODI1.C 中函数 fun 的功能是:求整数 x 的 y 次方的低 3 位值。例如,整数 5 的 6 次方为 15625,此值的低 3 位值为 625。 /**found**/

for(i=1;i<=y;i++) /**found**/ t=t%1000; 3 程序设计 8 请编写函数 fun,其功能是:计算并输出当 x<0.97 时下列多项式的值,直到

Sn-Sn-1<0.000001 为止。 double fun(double x) { int n=1; double sn=1; double xn=1,xn1=0; while(fabs(xn-xn1)>=0.000001) { xn=xn*x*(0.5-n+1)/n; n+=1; sn+=xn; } return(sn); } 第四十八套 1 程序填空给定程序中,函数 fun 的功能是:计算出带有头节点的单向链表中各节点数据域中值之和作为函数值带回。第 1 处 s+=p->data; 第 2 处 p=p->next; 第3处

printf(“\nsum=%d\n”,fun(head) ); 2 程序修改给定程序 MODI1.C 中函数fun 的功能是:将 s 所指字符串中出现的与 t1 所指字符串相同的子串全部替换成 t2 所指字符串,所形成的新串放在 w 所指的数组中。在此处,要求t1 和 t2 所指字符串的长度相同。 /**found**/ while(*r) /**found**/

*a=*r;a++;r++; 3 程序设计函数 fun 的功能是:将 s 所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在 t 所指数组中。 void

fun(char *s,char t[]) { int i,j=0; for(i=1;i

t[j]=0; } 第四十九套 1 程序填空给定程序中,函数 fun 的功能是:把形参s 所知字符串中最左边的 n 个字符复制到形参 t 所指字符数组中,形成一个新串,若 s 所指字符串的长度小于 n,则将整个字符串复制到形参 t 所指字符数组中。第 1 处 if(n>=len)strcpy(t,s); 第 2 处 t[j++]=s[i]; 第 3 处 t[j]=0; 2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:找出一个大于形参 m 且紧随 m 的素数,并作为函数值带回。 /**found**/ if(i%k= =0) /**found**/ if(k>=i) 3 程序设计编写函数 fun,它的功能是:求出能整除形参 x 切不是偶数的各整数,并按从小到大的顺序放在 pp 所指的数组中,这些除数的个数通过形参 n 返回。 void fun(int x,int pp[],int*n) { int i; *n=0; for(i=1;i<=x;i++) if((x%i==0)&&(i%2))pp[(*n)+ +]=i; } 第五十套 1 程序填空给定程序中,函数 fun 的功能是:将形参 s 所知字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。第 1 处 p[j]=s[i];j++;} 第2处 for(i=0;i

for(i=1;i

for(i=2;i<=m;i++) /**found**/ y-=1.0/(i*i); 3 程序设计 m 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在 below 所指的数组中。 int fun(int score[],int m,int below[]) 2 { float av=0.0; int i,j=0; for(i=0;iscore[i])

below[j++]=score[i]; return j; } 第五十三套 1 程序填空给定程序中,函数 fun 的功能是将形参指针所指结构体数组中的三个元素按 num 成员进行

升序排列。第 1 处 void fun(PERSON*std) 第 2 处 PERSON temp; 第 3 处fun(std); 2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:将 m

(1≤m≤10)个字符串连接起来,组成一个新串,放入 pt 所指存储区中。

/**found**/ int k,q,i; /**found**/ pt[i]=str[k][i]; 3 程序设计程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数 fun(int

a[ ][N]),函数的功能是:使数组左下三角元素中的值全部置成 0。 int fun(int a[][N]) { int i,j; for(i=0;i

中函数 fun 的功能是:根据整形形参 m, 计算如下公式的值。 /**found**/ double fun(int m) /**found**/ for(i=100;i<=m;i+=100) 3 程序设计已知学生的记录由学号和学习成绩构成,N 名学生的数据 9 已存入 a 结构体数组中,轻便鞋函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分) fun(STU a[],STU *s) { int i,min=a[0],s,j=0;

for(i=1;ia[i].s){ j=i; min=a[i].s; } *s=a[j]; } 第五十五套 1 程序填空给定程序中,函数 fun 的功能是:判断形参 s 所指字符串是否是“回去” (Palindrome)若是,函数返回值为 1;不是,函数返回值为0,“回文”是正读和反读都是一样的字母串(不区分大小写字母)。第 1 处 1p=s; 第 2 处 1p++;rp--;} 第 3 处 if(1p

2/1+3/2+5/3+8/5+13/8+21/13+ ……和值通过函数值返回 main 函数。例如 n=5,则应输出:8.391667。 /**found**/ double fun(int n) /**found**/

c=a;a+=b;b=c; 3 程序设计请编写函数 fun,函数的功能是:将大于形参 m 且紧靠 m 的 k 个素数存入 xx 所指的数组中。19,23,29,31,37,函数 fun 中给出的语句仅供参考。 void fun(int m,int k,int xx[]) { int i,j=1,t=m+1; while(j<=k) { for(i=2;i

printf(“%s”,str); 2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:从低位开始取出长整形变量 s 中奇数位上的数,依次构成一个新数 t 中。高位仍在高位,低位仍在低位。 /**found**/ void fun(long s,long*t)

/**found**/ s1=s1*10; 3 程序设计函数 fun 的功能是:将两个两位数的正整数 a 、b 合并形成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的十位和百位上,b 数的十位和个位数依次放在 c 数的千位和十位上。 void fun(int a,int b,long*c)

{ *c=(b/10)*1000+(a%10)*100+( b%10)*10+(a/10); } 第五十七套 1 程序填空给定程序中,函数 fun 的功能是:计算出形参 s 所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。第 1 处

n++;flag=1;} 第 2 处if(*s= =’ ’)flag=0; 第 3 处 s++; 2 程序修改给

定程序 MODI1.C 中函数 fun 的功能是:从 n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参 aver 所指的存储单元中。 /**found**/ t+=s[k]; /**found**/ *aver=ave; 3 程序设计请编写函数 fun,其功能是求出数组的最大元素在数组中的下标并存放在 k 所指的存储单元。 int fun(int *s,int t,int *k) { int i,pos=0,max=*s;

for(i=1;ie) 第3 处 x=(2*i+1)/(t*t); 2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:求出以下分数序列的前 n 项之和。 2/1,3/2,5/2,8/5,13/8,31/13 … 和值通过函数值返回到 main 函数。 /**found**/ double fun(int n)

/**found**/ s=s+(double)a/b; 3 程序设计请编写函数 fun,它的功能是:求出一个2×M 整型二维数组中最大元素的值,并将此值返回调有函数。

fun(int a[][M]) { int i,j,max=a[0][0]; for(i=0;i<2;i++) for(j=0;ja[j]) 2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:用递归算法计算列中第 n 项的值。从第一项起,斐波拉契数列为:1、1、2、3、 5、8、13、21、…… /**found**/ switch(g) /**found**/ case 1:return 1; case 2:return 1; 3 程序设计某学生的记录由学号、8 门课程和平均分组成,学号和 8 门课程成绩已在主函数中给出。请编写函数 fun,它的功能是; 求出该学生的平均分放在记录的ave 成员中。 void fun(STREC *a) { int i; for(i=0;i

a->ave=a->ave+a->s[i]; a->ave/=N } 第六十套 1 程序填空给定程序中,函数 fun 的功能是:有N×N 矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素来。第 1 处 void fun (int) (*t)[N] 第 2 处 t[i][j]=t[i][j]+t[j][i]; 第 3 处 t[j][i]=0; 2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:计算函数值,F ( x,y,z )

=(x+y)/(x-y)+(z+y)/(z-y)其中 x 和 y 的值不等,z 和 y 的值不等。例如,当 x 的值为 9、y 的值为 11、的值为 15 时, z 函数值为-3.50。

/**found**/ #define FU(m,n) ((m)/(n)) /**found**/ return (value); } 3 程序设计规定输入的字符串中只包含字母和*号。请编写函数 fun , 它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。 void fun (char *a) { int j=0; char *p=a; while (*p=='*')p++; while (*p){ a[j++]=*p; p++; } a[j]=0; } 第六十一套 1 程序填空人员的记录由编号和出生年、月、日组成,N 名人员的数据已在主函数中存入结构体数 10 组 std 中。函数 fun 的功能是:找出指定出生年份的人员,将其数据放在形参 k 所指出的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。第 1 处 if

(std[i].year==year) 第 2 处 k[n++]=std[i]; 第 3 处 return (n); 2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:读入一个整数 k(2

≤k≤10000)打印它的所有质因子(即所有为素数的因子)。 /**found**/ IsPrime (int n) /**found**/ if (!(n%i)) 3 程序设计已知学生的记录由学号和学习成绩构成,N 名学生的数据已存入结构体数组 a 中。请编写给函数fun,函数的功能是:找出成绩最高的学生的记录,通过形参指针传回主函数(规定只有一个最高分),已给出函数的首部,请完成函数。 fun(STU a[],STU *s) { int i, max = a[0]. s, j=0; for (i=1; i

/**found**/ fun (int a [], int m) /**found**/ else if (m>a [mid]) 3 程序设计假定输入的字符串中只包含字母和*号,请编写函数 fun,它的的功能是:除了尾部的* 号之外,将字符串中其他*全部删除。形参 p 已指向字符串中最后一个字母。在编写函数时,不得使用 C 语言提供的字符串函数。 void fun (char *a,char *p) { char *q=a; int j=0; while (*q&&q

(j=strlen(s)-1; j>=0; j--) b [i++]=s[j]; strcpy (s,b); } 第六十五套 1 程序填空给定程序中,函数 fun 的功能是:计算下式前 5 项的和作为 2 函数值返回。S=1×3/2 -3× 2 2 n-1 5/4 +5 × 7/6 - … … +(-1) (2 2

×n-1)×(2×n+1)/(2×n) 例如,当形参 n 的值为 10 时,函数返回:

-0.204491。第 1 处 k=1; 第 2 处 t=2*j; 第 3 处 k=k*(-1); 2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:判断一个整数是否是素数,若是返回 1,否则返回 0./**found**/ K++; /**found**/ if (m==k) 3 程序设计请编写一个函授 fun,它的功能是:找出一维整数组元素中最大的值和他所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中 x 是数组名,n 是 x 中的数据个数,max 存放在大值,index 存放最大值所在元素的下标。 void fun (int a[], int n, int *max, int *d) { int i; *max=a[0];*d=0; for (i=1; i=' 0' &&s [ i ]<=' 9') 第 2 处 while (s[i+1+n]! =0)n++; 第 3 处 s[j+1]=s [j];

2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:根据整形形参 m=1, 计算如下公式的值。m=1+1/2*2+1/3*3+1/4*4 … 11 1/m*m 例如,若 m 中的值为5,则应输出 1.463611 2 /**found**/ for (i =2 ; i<= m; i++) /**found**/ y+=1.0/ ( i* i) ;

3 程序设计编写函数 fun,函数的功能是:实现B=A+A’即把矩阵 A 加上 A 的转置,存放在矩阵 B 中。计算结果在 main 函数中输出。void fun ( int a [3] [3], int b [3] [3]) { Int c [3] [3]; int i,j; for (i=0;i<3;i++) for (j=0; j<3; j++) { c [i][j]=a [j] [i] ; b [i] [j]=a[i] [j] +c [i] [j] ; } } 第六十七套 1 程序填空给定程序中,函数 fun 的功能是:找出 100~999 之间(含 100 和 999)所有整数中个位上数字之和为 x(x 为一正整数)的整数,然后输出:符合条件的整数个数作为函数值返回。第 1 处 while (t<=999) 第 2 处 s1=t%10; s2=(t/10)%10;s3=t/100; 第 3 处 if (s1+s2+s3==x) 2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:低位开始取出长整形变量 s 中偶数位上的数,依次构成一个新数放在 t 中。高位仍在高位,低位仍在低位。 /**found**/ void fun (long s, long *t)

/**found**/ while (s>0) 3 程序设计学生的记录由学号和学生成家组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是;按分数的高低排列学生的记录,高分在前。 int fun (STREC a[]) { STREC tmp; int i,j; for (i=0;i

1 第 1 处 if (t%2==0) 第

2 处 x=10*x+t; 第

3 处 n=n/10; 2 程序修改给定程序 MODI1.C 中函数 fun 的功能是:将长整数中每一位上为奇数的数依次取出,构成一个心数放在 t 中。高位仍在高位,低位仍在低位。 /**found**/ *t=0; /**found**/ if (d%2!=0) 3 程序设计编写一个函数 fun,它的功能是:实现两个字符串的连续(不使用库函数 strcat),即把 p2 所指的字符串连接到 p1 所指的字符串后。 void fun (char p[], char p2[]) { char *p=p1; while (*p)p++; while (*p2)*p++=*p2++; *p=0; } 第六十九套 1 程序填空甲乙丙丁四人同时开始放鞭炮,甲每隔 t1 秒放一个,乙每隔 t2 秒放一个,丙每隔 t3 秒放一个,丁每隔 t

4 秒放一个,每人各放 n 次。函数 fun 的功能是通过形参提供的信息,求出总共听到多少次鞭炮声作为函数值返回。注意,当几个鞭炮同时炸响,只算一声响声,第一声响是在第 0 秒。 1 第 1 处 max t =t1; 第 2 处 for (t=1; t< max t*(n-1); t++) 第 3 处 return count; 2 程

序修改给定程序 MODI1.C 中函数 fun 的功能是:根据输入的三个边长(整值型),判断能否构成三角形,还是等腰三角形。若能够构成等边三角形函数返回 3,若能构成等腰三角形,函数返回 2,若构成一般三角形,则函数返回 1,若不能构成三角形,则函数返回 0./**found**/ int fun (int a,int b, int c) /**found**/ else return 1; 3 程序设计编写一个函数 fun,它的功能是:计算并输出 3 到 n 之间(含 3 和 n)所有素数平方根之和。 double fun (int n) { int i, j=0; double s=0; for (i=3;i<=n; i++){ for (j=2; j2)的素数的个数,素数的个数作为函数值返回。第 1 处 for ( j=2; j=i) 2 程序修改数列中,第一项值为 3,后一项都比前一项的增 5;给定程序 modi1.c 中函数 fun 函数功能是:计算前 n (41&&n<=100) { for ( i=1 ; i<=n; i++) sum +=1. 0/(2*i - 1)- 1. 0/(2* i); } return sum; } 第七十三套 1 程序填空给定程序中,函数 fun 的功能是:f(x)=1+x+x2/+…+xn/n!直到

|x/n!|<10-6, x=2.5,函数值为:若 12.182494。第 1 处 f=1.0+x ; 第 2 处

t*=x/n 第 3 处 f+=t ; 2 程序修改给定程序 MODI1.C 中 fun 函数的功能

是:计算 n 的 5 次方的值(规定 n 的值大于 2 小于 8),通过形参指针传向主函数,并计算该值的个位、十位、百位上的数字之和作为函数值返回。/**found**/ d=1 ; s=0 ; /**found**/ d=d/10 ; 3 程序设计请编写一个函数fun,它的功能是:计算并输出给定数组(长度为 9)中每相邻两个元素之平均值的平方根之和。 double fun (double x[9]) { int i ; double avg=0. 0, sum=0. 0 ; for (i=0 ; i<8 ; i++){ avg =( x [i] + x [i+1])/2; sum += sqrt ( avg); } rturn sum ; } 第七十四套 1 程序填空给定程序中,函数 fun 的功能是:计算f(x)=1+x+x2/+…+xn/n! 的前 n 项。 x=2.5,函数值为:若12.182340。第 1 处 t=1 ; 第 2 处 for (i=1 ;i

2 程序修改给定程序 MODI1.C 中 fun 函数的功能是:找出 100 至 n(n 不大于 1000)之间三位数字相等的所有整数,把这些整数放在 s 所指数组中,个数作为函数值返回。 /**found**/ k= i ; /**found**/ c=k%10;

3 程序设计请编写一个函数 fun,它的功能是:计算并输出给定 10 个数的方差:例如,给定的 10 个数为 95.0、 89.0、 76.0、 65.0、 88.0、72.0、85.0、81.0、90.0、 56.0、1 输出为 s=11.730729. double fun (double x [10]) { Int i; double avg =0.0, sum =0.0, abs =0.0, fc; for (i=0; i<10; i ++) sum +=x[ i ]; avg =sum/10; for (i=0; i<10; i++) abs +=(x[i]- avg)*(x [i ] -avg ); fc =sqrt (abs/10); return fc ; } 第七十五套 1 程序填空给定程序中已经建立一个带有头结点的单项链表,在 main 函数中将多次调用 fun 函数,每调用一次 fun 函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。第

1 处 t=t- >next; 第

2 处 printf ("%d" , t->data); 第

3 处 free (t); 2 程序修改给定程序 MODI1.C 中 fun 函数的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。 /**found**/ fun (char *a ) /**found**/ printf ( "%c" , *a); 3 程序设计编写一个函数 fun,它的功能是:比较两个字符串的长度(不得调用 C 语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 char *fun (char *s, char *t) { int i ; char *p =s ,*q=t; for (i=0; *p&&*q ; i++){ p++ ; q++; } if (*p==0&&*q==0) return s; if (*p) return s; else return t; } 第七十六套 1 程序填空在给定程序中,函数 fun 的功能是在形参 s 所指字符串中寻找与参数 c 相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。第 1 处 for (i=0; s[ i ]!='\0' ;i++) 第 2 处 n=0; 第 3 处 s[j+1] =c ; 2 程序修改在主函数中键盘输入若干个

数放入数组中,用 0 结束输入并放在最后一个元素中。给定程序 MODI1.C 中函数 fun 的功能是:计算数组元素中值为正数的平均值(不包括零)

/**found**/ double sum =0. 0; /**found**/ sum/=c; 3 程序设计编写程序fun,它的功能是:根据以下分工计算 s,计算结果作为函数值返回:n 通过形参传入。 float fun (int n) { int i, j, t; float s=0; for(i=1;

i<=n;i++){ t=0; for (j=1; j<=i; j++) t+=j; s=s+1. 0/t; } return s; } 第七十七套 1 程序填空给定程序中,函数 fun 的功能是:将形参 n 所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针 n 传回所指变量。如输入一个数:27638496,新的数为 729 第 1 处 { t=*n%10 ; 第 2 处 if (t %2!=0) 第 3 处 *n=x ; 2 程序修改给定程序 modi1.c 中函数 fun 函数功能是:计算 n!。例如,给 n 输入 5 ,则输出 120.000000。 /**found**/ if (n==0) /**found**/ result

*=n--; 3 程序设计请编写一个函数 fun,它的功能是:将一个数字字符转换为一个整数(不得调用 C 语言提供的将字符转换为整数的函数)例如,若输入字符串。“-1234” ,则函数将它转换为整数值-1234.long fun (char *p) { int i, len , t; long x=0; len =strlen (p); if (p[0]== ' - ') { t= - 1; len--;p++;} else t=1; While (*p) x =x*10 - 48 +(*p++); return x*t; } 第七十八套 1 给定程序中,函数 fun 的功能是将形参给定的字符串、整数、浮点数写到的文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容分并把下划线删除,使得程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1.C 中。第1 处 FILE * fp; 第 2 处 while (!feof (fp)) { 第 3 处 putchar (ch) ; ch= fgetc (fp); } 2 程序修改给点那个程序 MODI1.C 中函数 fun 的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。

/**found**/ s [j++]=s [ i ]; /**found**/ s [ j ]= ' \ 0 ' ; 3 程序设计题请编写函数 fun,函数的功能是:将 M 行 N 列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。 void fun (char s[] [N] , char *b) { int i, j, n=0; for (i=0; inext ; 第 2 处 q= p - > next; 第 3 处 if (p - > data >=q - >data)) 2 程序修改给定程序 MODI1.C 是建立一个带头结点的单项链表,并用随机函数为各节点数据赋值。函数 fun 的作用是求出单项链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun 中所指部位的错误,使它能得出正确结果。 /**found**/ p= h - >next; /**found**/ p=p->next; 3 程序设计请编写函数 fun,函数的功能是:将 M 行

N 列的二维数组中的数据,按行的顺序依次放到一维数组中。一维数组中数据的个数存在形参 n 所指的存储单元中。 void fun ( int (*s) [10] , int *b, int *n, int mm, int nn) { int i, j, k ; for (i=0 ; i

x1*x1+x1*x2=40.000000 请在程序下划线处填入正确的内容并把下划线删除,使程序得出正确结果。第 1 处 double ( *f ) () ; 第 2 处 f = f 1; 第 3 处 f = f 2; 2 程序修改给定程序 MODI1.C 是建立一个带头点的单向链表,并用随机函数为各结点赋值。函数 fun 的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。请改正函数 fun 中指定部位的错误,使它能得出正确的结果。 /**found**/ p= h - >next;

/**found**/ p= p - >next; 3 程序设计请编写函数 fun,函数的功能是:判断字符串是否为回文?是,函数返回 1,主函数中输出:YES,否则返回 0,主函数中输出 NO。回文是指顺读 t 和倒都都一样的字符串。 int fun ( char * str) { int i , j= strlen (str) ; for ( i=0 ; i < j /2 ; i++) if (str

西工大C语言上机考试题库

1:2:3 #include #include int main() { int i=0,j=0,k=0,a=0,b=0,c=0,l=0,m=0,n=0,d=0,p=0,q=0; for(i=1;i<=3;i++) { for(j=1;j<=9;j++) { if(i!=j) { for(k=1;k<=9;k++) { if(k!=j&&i!=k) { a=i*100+j*10+k; b=a*2; c=a*3; l=b%10,d=c%10; m=(b%100)/10,p=(c%100)/10; n=b/100,q=c/100; if(l!=0&&m!=0&&n!=0&&d!=0&&p!=0&&q!=0) if(i!=l&&i!=m&&i!=n&&j!=l&&j!=m&&j!=n&&k!=l&&k!=m&&k!=n) if(i!=d&&i!=p&&i!=q&&j!=d&&j!=p&&j!=q&&k!=d&&k!=p&&k!=q) if(l!=d&&l!=p&&l!=q&&m!=d&&m!=p&&m!=q&&n!=d&&n!=p&&n!=q) printf("%d %d %d\n",a,b,c); } }

} } } return 0; } 8 #include"stdio.h" int main() { int a,b[10],m=0,n=0,p; int i,j,k; scanf("%d",&a); for(i=1;i<=a;i++) { m=0; n=0; p=i; for(j=0;p!=0;j++) { b[j]=p%10; p=p/10; } for(k=0;k

C语言上机题库百科园第2章!南信大!

第二章 若有数学式3ae bc,则不正确的C语言表达式是() A.3*a*e/b*c B.a/b/c*e*3 C.3*a*e/b/c D.a*e/c/b*3 设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为()。 A.4 B.3 C.2 D.1 下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是() A.(x/2*2-x)==0 B.!(x%2) C.!(x%2==0) D.x%2==0 表达式18/4*sqrt(4.0)/8值的数据类型为()。 A.char B.double C.不确定 D.float 在C语言中,要求运算数必须是整型的运算符是( ) A.% B./ C.++ D.!= 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。 A.4

C.16 D.52 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A.必须为下划线 B.必须为字母 C.可以是字母、数字和下划线中的任意一种 D.必须为字母或下划线 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( ) A.不知道a的值,不能确定 B.0 C.2 D.1 判断字符型变量c1是否为数字字符的正确表达式为( ) A.(c1>='0')&&(c1<='9') B.(c1>=0)&&(c1<=9) C.('0'>=c1)||('9'<=c1) D.'0'<=c1<='9' 下面四个选项中,均是合法的用户标识符的选项是()。 A._123 temp INT B.A p_o do C.b-a goto int D.float lao _A 以下关于C语言数据类型使用的叙述中错误的是( ) A.若要处理如"人员工资"的相关数据,单精度类型 B.若只处理"真"和"假"两种逻辑值,应使用逻辑类型 C.若要保存带有多位小数的数据,应使用双精度类型 D.若要准确无误差的表示自然数,应使用整数类型 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。 A.7 B.8 C.6 D.2 下面正确的字符常量是()

C语言上机题库

C语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。 输入格式: B 输出格式: 26 #include int main(void) { char ch; int sum; ch=getchar(); sum=ch-'A'+10+15; printf("%d\n",sum); return 0; } 3.12输入三个整数,求其平均值。 输入格式: 3 5 7 输出格式: 5 #include int main(void) { int a,b,c,aver; scanf("%d %d %d",&a,&b,&c); aver=(a+b+c)/3; printf("%d\n",aver); return 0; } 3.13根据c=5/9*(f-32) 公式,输入华氏温度f,求摄氏温度c,结果精确到小数点后两位。 输入格式: 80.0 输出格式: 26.67 #include int main(void) { float f,c; scanf("%f",&f); c=5.0/9*(f-32); printf("%.2f\n",c); return 0; } 3.14输入一个四位正整数,求其各位数字之和。例如,1357的各位数字之和为1 + 3 + 5 + 7 = 16。 输入格式: 1357 输出格式: 16 #include int main(void) { int num; int a,b,c,d,total; scanf("%d",&num); a=num/1000; b=(num-a*1000)/100; c=(num-a*1000-b*100)/10; d=num-a*1000-b*100-c*10; total=a+b+c+d; printf("%d\n",total); return 0; } 3.15输入一大写字母,输出对应的小写字母。 输入格式: A 输出格式: a #include int main(void) { char c1,c2;

c语言上机题库 (1)

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

2020年全国计算机等级考试二级c语言上机精选题库(共80套)

2020年全国计算机等级考试二级c语言上机精选题库(共80套) 第1套试题 第一题:给定程序中,函数fun的功能是:计算N*N矩阵的主对角元素和反向对角元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 #include #define N 4 fun(int t[][N], int n) { int i, sum; ___1___; for (i=0; i

第二题:下列给定程序中,函数fun 的功能是:根据整型参n ,计算如下公式的值。 ,11=A ,1112A +=A ,1123A +=A … ,1 11-A +=A n n 例如,若n=10,则应输出0.617978。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不要更改程序的结构! #include #include /********found********/ fun(int n) { double A = 1; int i; /********found********/ for(i=2;i #include void fun (int a, int b, long *c) { }

历年全国计算机等级考试-二级C语言上机考试题库及答案

1.填空 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构! void check(); /**********found**********/ int fun(___1___ *std) { /**********found**********/ ___2___ *fp; int i; if((fp=fopen("myfile5.dat","wb"))==NULL) return(0); printf("\nOutput data to file !\n"); for(i=0; i

二级C语言上机题库及答案

第一套题 上机填空: #include double fun(double e) { int i, k; double s, t, x; s=0; k=1; i=2; /**********found**********/ x=__1__/4; /**********found**********/ while(x __2__ e) { s=s+k*x; k=k* (-1); t=2*i; /**********found**********/ x=__3__/(t*t); i++; } return s; } main() { double e=1e-3; printf("\nThe result is: %f\n",fun(e)); 第一处答案:3.0 第二处答案:> 第三处答案:(2*i+1)或者(t+1) 上机改错题: #include /************found************/ void fun ( int n )

{ int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k <= n; k++ ) { /************found************/ s = s + (Double)a / b; c = a; a = a + b; b = c; } return s; } main( ) { int n = 5; printf( "\nThe value of function is: %lf\n", fun ( n ) ); } 第一处改错:将:void fun ( int n ) 改为double fun ( int n ) 第二处改错:s = s + (Double)a / b; 改为s = s + (double)a / b; 第二套题 上机填空题 #include double fun(int n) { int i; double s, t; /**********found**********/ s=__1__; /**********found**********/ for(i=1; i<=__2__; i++) { t=2.0*i; /**********found**********/ s=s+(2.0*i-1)*(2.0*i+1)/__3__; } return s; } main() { int n=-1; while(n<0) { printf("Please input(n>0): "); scanf("%d",&n); }

浙江大学C语言上机考试题库

上机考试练习题 20021程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 int main(void) { int repeat, ri; double x, y; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf", &x); /*---------*/ if(x!=0) y=1/x; else y=0; printf("f(%.2f) = %.1f\n", x, y); } } 20022程序填空,不要改变与输入输出有关的语句。 输入华氏温度,输出对应的摄氏温度。计算公式:c = 5*(f-32)/9,式中:c表示摄氏温度,f表示华氏温度。 输入输出示例:括号内为说明 输入 150 (fahr=150) 输出 celsius = 65 #include int main(void)

int celsius, fahr; /*---------*/ scanf(“%d”,&fahr); celsius=5.0*(fahr-32)/9; printf("celsius = %d\n", celsius); } 20023程序填空,不要改变与输入输出有关的语句。 输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。 interest = money(1+rate)^year - money 输入输出示例:括号内为说明 输入 1000 3 0.025 (money = 1000, year = 3, rate = 0.025) 输出 interest = 76.89 #include #include int main(void) { int money, year; double interest, rate; /*---------*/ scanf(“%d%d%lf”,&money,&year,&rate); interest=money*pow((1+rate),year)-money; printf("interest = %.2f\n", interest); } 20024程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0= 0时,f(x) = x^0.5,当x小于0时,f(x) = (x+1)^2 + 2x + 1/x。 输入输出示例:括号内是说明 输入 3 (repeat=3) 10 -0.5

全国计算机等级考试C语言上机考试题库 套

2017年全国计算机等级考试C语言上机考试题库 学生练习用第41套至第60套 第四十一套 1、程序填空 下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。 例如,若s所指字符串为:"asd123fgh543df",处理后新字符串为:"asdfghdf123543"。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序在文件中。 不得增行或删行,也不得更改程序的结构! ----------------------------------------------------------------------------------------------------------------- #include <> #include <>

#include <> char *fun(char *s) { int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0; k=0; for(i=0; i='a')&&(s[i]<='z'))||((s[i]>='A')&&(s[i]<='Z'))) { /**********found**********/ t[j]=__1__; j++;} else { p[k]=s[i]; k++; } } /**********found**********/

C语言上机题库1

一、选择题 1.下列变量说明语句中,正确的是()。 A、char a;b;c; B、char:a b c; C、int x;z; D、int x,z; 2.设以下变量均为int类型,则值不等于7的表达式是()。 A、(x=6,x+1,y=6,x+y) B、(x=y=6,x+y,y+1) C、(y=6,y+1,x=y,x+1) D、(x=y=6,x+y,x+1) 3.x,y,z,t均为整型变量,则执行以下语句后,t的值为:() x=y=z=1; t=++x||++y&&++z; A、0 B、1 C、2 D、不定值 4.如果int a=2,b=3,c=0,下列描述正确的是()。 A、a&&b>c的结果为假 B、!a!=(b!=c)表达式的值为1 C、a||(b=c)执行后b的值为0 D、a>b!=c和a>(b!=c)的执行顺序是一样的 5.从键盘输入的整数中找出最小值min,输入0时结束.请在A处填写正确语句()。#include "stdio.h" main() { int min=0,a; do{ scanf("%d",&a); if(min>a) min=a; }while(___A___); printf("%d",min); } A、a=0 B、a==0 C、a>0&&a<0 D、a!=0

6.设有如下程序段: int k=10; while(k==0) k--; 则下述说明中正确的是(). A、循环体一次也不执行 B、循环体执行一次 C、死循环 D、循环体执行10次 7.static char str[10]="China";数组元素个数为()。 A、6 B、9 C、5 D、10 8.函数调用:strcat(strcpy(str1,str2),str3)的功能是()。 A、将串str1复制到串str2中后再连接到串str3之后 B、将串str2连接到串str1之后再将串str1复制到串str3中 C、将串str1连接到串str2之后再复制到串str3之后 D、将串str2复制到串str1中后再将串str3连接到串str1之后 9.C语言程序中必须有的函数是()。 A、#include "stdio.h" B、main C、printf D、scanf 10.程序运行结束后,屏幕上输出值为(). static int x=10; main( ) { int x=3; f( ); x- -; printf("%d",x); } f( ) { x++; } A、10 B、2 C、11 D、3

C语言上机练习题及答案

1输入三个整数x,y,z,把这三个数由小到大输出。 # include void main() { int x,y,z,a; scanf ("%d,%d,%d",&x,&y,&z); if(x>y) {a=x; x=y;y=a; } if(x>z) { a=x; x=z; z=a; } if(y>z) {a=y; y=z; z=a; } printf("%d,%d,%d\n",x,y,z); } 2输入圆的半径,输出圆的周长和面积。 # include # define PI 3.1415926 # define S ==PI*r*r # define V (4.0/3)*PI*r*r*r void main() { double r; printf("please input r:"); scanf("%lf",&r); printf("area is %.4lf\n",S); printf("volume is %.4lf\n",V); } 输入正方形的边长,输出正方形的周长和面积。 # include void main() { float c,zc,mj; printf("输入你的正方形"); scanf("%f\n",&c); zc=4*c; mj=c*c; printf("周长%f,面积%f,边长%f",zc,mj,c); } 3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。 # include int main() {char-ch1,ch2,ch3;

大学c语言考试题库(含答案)

单项选择 ================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。 int a=10; printf("%d",a++); A、11 和 10 B、11 和 11 C、10 和 11 D、10 和 10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B 题号:45 能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0

D、a>=10 || a<=0 答案: D 题号:157 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,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i++; } } A、死循环,不能确定次数 B、6

2019年C语言考试题库及答案

2019年C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油!

一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。

A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

C语言上机题库百科园第4章!南信大!

第四章 单选 有以下程序,程序运行后的输出结果是( ) #include int fun (int x,int y) { if (x!=y) return ((x+y)/2); else return (x); } int main() { int a=4,b=5,c=6; printf("%d\n",fun(2*a,fun(b,c))); return 0; } A.12 B.6 C.3 D.8 有以下程序,程序运行的输出结果( ) #include int f(int x); int main() { int n=1,m; m=f(f(f(n))); printf(“%d\n”,m); return 0 ; } int f(int x) { return x*2;} A.8 B.4 C.1 D.2 有以下程序,程序执行后变量w中的值是( ) #include int funl(double a){return a*=a;} int fun2(double x,double y) { double a=0,b=0; a=funl(x);b=funl(y);return (int)(a+b); } int main() {double w;w=fun2(1.1,2.0);……} A.5.21 B.0.0 C.5.0 D.5 有以下程序,程序运行后的输出结果是()#include int fun() { static int x=1; x*=2; return x;

} int main() { int i,s=1; for(i=1;i<=3;i++) s*=fun(); printf("%d\n",s); } A.10 B.64 C.0 D.30 有以下程序,程序运行后的输出结果是() #include int f(int x,int y) {return ((y-x)*x);} int main() { int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c)); printf("%d\n",d); } A.10 B.8 C.7 D.9 有以下程序,程序运行后的输出结果是() #include void fun(int p) { int d=2; p=d++; printf(“%d”,p); } int main() { int a=1; fun(a); printf(“%d\n”,a); return 0; } A.22 B.21 C.12 D.32 有以下程序:程序运行后的输出结果是( ) #include int f() { static int x=1; x+=1; return x; } int main()

C语言上机题库百科园第1章!南信大!

第一章 以下叙述中错误的是( ) A.一个C语言程序只能有一个主函数 B.C语言编写的每个函数都可以进行独立的编译并执行 C.C语言编写的函数都可以作为一个独立的源程序文件 D.C语言编写的函数源程序,其文件名后缀可以是C 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( ) A.C语言程序仅可以编译执行 B.C语言程序仅可以解释执行 C.以上说法都不对 D.C语言程序既可以编译执行又可以解释执行 C语言规定:在一个源程序中,main的位置( ) A.可以任意 B.必须在最后 C.必须在最开始 D.必须在系统调用的库函数后面 一个C语言程序是由( ) A.若干过程组成 B.若干子程序组成 C.函数组成 D.一个主程序和若干子程序组成 以下关于结构化程序设计的叙述中正确的是( ) A.一个结构化程序必须同时由顺序、分支、循环三种结构组成 B.在C语言中,程序的模块化是利用函数实现的 C.由三种基本结构构成的程序只能解决小规模的问题 D.结构化程序使用goto语句会很便捷 以下叙述正确的是( ) A.在C程序中,main函数必须位于程序的最前面 B.在对一个C程序进行编译的过程中,可发现注释中的拼写错误 C.C语言本身没有输入输出语句 D.程序的每行中只能写一条语句 以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立的编译并执行

B.C语言编写的函数源程序,其文件名后缀可以是C C.一个C语言程序只能有一个主函数 D.C语言编写的函数都可以作为一个独立的源程序文件 以下叙述正确的是( ) A.C程序的书写格式是固定的,每行只能写一条语句 B.C程序中注释部分可以单独占一行 C.构成C程序的基本单位是函数,所有函数名都可以由用户命名 D.在对C语言程序进行编译时,可以发现注释行中的拼写错误 以下叙述正确的是( ) A.C语言程序是由过程和函数组成的 B.C语言函数不可以单独编译 C.C语言中除了main函数,其他函数不可作为单独文件形式存在 D.C语言函数可以嵌套调用,例如:fun(fun(x)) 一个C程序的执行是从( ) A.本程序文件的第一个函数开始,到本程序main函数结束 B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序的main函数开始,到main函数结束 以下叙述不正确的是( ) A.在C程序中,注释说明只能位于一条语句的后面 B.C程序的基本组成单位是函数 C.一个C源程序可由一个或多个函数组成 D.一个C源程序必须包含一个main函数

C语言试题库完整版

C语言试题库 一、单项选择 第一章C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。 (2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、C程序的每行中只能写一条语句。 C、C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3)C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。 D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为 x=(i=4, j=16, k=32) A、4

B、16 C、32 D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、i f, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是 A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是 A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下: int k, a, b; unsinged long w=5; double x=1.42; 则以下不符合C语言语法的表达式是 A、x%(-3) B、w+=-2; C、k=(a=2,b=3,a+b) D、a+=a-=(b=4)*(a=3) 第三章简单C程序设计 (1)putchar函数可以向终端输出一个 A、整型变量表达式值 B、实型变量值 C、字符串 D、字符或字符型变量值 (2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z); B、scanf(“%2d*%d%lf”,&x,&y,&z); C、scanf(“%x%*d%o”,&x,&y,&z); D、scanf(“%x%o%6.2f”,&x,&y,&z);

C语言上机题库

1 C 语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。 输入格式: B 输出格式: 26 #include int main(void) { char ch; int sum; ch=getchar(); sum=ch-'A'+10+15; printf("%d\n",sum); return 0; } 3.12输入三个整数,求其平均值。 输入格式: 3 5 7 输出格式: 5 #include int main(void) { inta,b,c,aver; scanf("%d %d %d",&a,&b,&c); aver=(a+b+c)/3; printf("%d\n",aver); return 0; } 3.13根据 c=5/9*(f-32) 公式,输入华氏温度f ,求摄氏温度c ,结果精确到小数点后两位。 输入格式: 80.0 输出格式: 26.67 #include int main(void) { float f,c; scanf("%f",&f); c=5.0/9*(f-32); printf("%.2f\n",c); return 0; } 3.14输入一个四位正整数,求其各位数字之和。例如,1357的各位数字之和为1 + 3 + 5 + 7 = 16。 输入格式: 1357 输出格式: 16 #include int main(void) { intnum; inta,b,c,d,total; scanf("%d",&num); a=num/1000; b=(num-a*1000)/100; c=(num-a*1000-b*100)/10; d=num-a*1000-b*100-c*10; total=a+b+c+d; printf("%d\n",total); return 0; } 3.15输入一大写字母,输出对应的小写字母。 输入格式: A 输出格式: a

相关主题