1请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得

合集下载

2012计算机国二C语言等级考试 题库(内部资料)程序编辑

2012计算机国二C语言等级考试    题库(内部资料)程序编辑

24. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能 是:将字符串的前导*号全部移到字符串的尾部。函数fun中给出的函数 仅供参考。 void fun(char *a) { int i=0,n=0; char *p; p=a; while(*p=='*') { n++; p++; } while(*p) { a[i]=*p; i++; p++; } while(n!=0) { a[i]='*'; i++; n--; } a[i]='\0'; } 25. 请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9 整除的所有自然数的倒数之和。 double fun(int n) { int i; double sum=0.0; for(i=1;i<=n;i++) if(i%5==0||i%9==0) sum+=1.0/i;
中‘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++; } } 16 函数fun的功能是:将s所指字符串中ASCII值为偶数的字符删除,串 中剩余字符形成一个新串放在t所指数组中。 #include <stdio. h> #include <string. h> void fun (char*s, char t[]) { int i, j=0; for(i=0;i<strlen(s);i++)if(s[i]%2)t[j++]=s[i]; t[j]=0; } 17.. 请编写函数fun,函数的功能是:求出1到1000之间能被7或11整除, 但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过 n返回这些数的个数。 #include <stdio. h> 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; } 18. 请编写函数fun,函数的功能是:利用一下所示的简单迭代方法求方 程求方程:cos(x)-x=0的一个实根。xn+1=cos(xn)迭代步骤如下:

(加强版)程序设计答案word版

(加强版)程序设计答案word版

1.1题目:请编写函数fun,该函数的功能是: 将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。

例如: 若字符串数组中的M个字符串为{AAAA",“BBBBBB","CC"则合并后的字符串内容应该是“AAABBBBBBCC"注意: 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语可。

int i,j, k=0;for (i=0;i<M;i++)for (j=0;a[i][j]!=’\0’;j++)b[k++]=a[i][j];b[k]=’\0’;1.2题目:题目: 请编写fun函数程序,从键盘输入某一年,判断该年是否为闰年。

闰年的条件是: (1) 能被4整除但不能被100整除。

(2) 能被400整除。

符合任何一个条件就是闰年。

输入年份为整型if ((year%4==0&&year%100!=0)||year%400==0)return 1;elsereturn 0;1.3题目:(待议)题目: 编写函数fun; 其功能是: 根据以下公式求的值,结果由函数值带回。

m与n为两个正整数且要求m>n.如“样张”。

P=m!/n!(m-n)!)例如: m=12,n=8时,运行结果为495 000000注意请勿改动主函数main和其他函数中的任何内容。

仅在函数fun的花括号中填入你编写的若干语句。

(参考百度)float p ;p=1.0*jc(m)/jc(n)/jc(m-n);return p;2.1功能: 对长度为8个字符的字符串,将8个字符按降序排列。

例如: 原来的字符串为CEAedcab,排序后输出为edcbaECAint i,j;char t;for(i=0;i<mum; i++)for (j=i+1;j<num;j++)if(s[i]<s[j]){t=s[i];s[i]=s[j];s[j]=t;}2.2编写程序,实现矩阵(3 行、3 列)的转置(即行列互换)。

大学生C语言程序设计(第四版 谭洪强)实验7 答案

大学生C语言程序设计(第四版 谭洪强)实验7 答案

实验七 参考答案(参考答案)(1) (sy7-1.c )请编写函数fun ,它的功能是:计算并输出n (包括n )以内能被5 或9 整除的所有自然数的倒数之和。

例如,若主函数从键盘给n 输入20后,则输出为s=0.583333。

注意:n 的值要求不大于100。

算法分析:使用for 循环i ,遍历n 包含n 以内的所有整数,逐一判断每个i ,是否满足条件(能被5 或9 整除),如果满足,则把它的倒数累加到累加器里。

注意:i 的倒数要表示成:1.0/i;参考子函数如下:double fun(int n){double sum=0;int i;for(i=5;i<=n;i++)if(i%5==0||i%9==0)sum=sum+1.0/i;return sum;}(2) (sy7-2.c ) 请编写函数fun ,其功能是:根据以下公式计算s ,并计算结果作为函数值返回,n 通过形参传入。

n s ⋯++++⋯++++++=321132112111例如:若n 的值为11时,函数的值为1.83333算法分析:等式右边从第二项(i=2)开始,其分母等于前一项的分母加上i ;一共有n 项;求出每项的分母,然后把每项进行累加。

参考子函数如下:float fun(int n){float sum=1; //sum 中已经累加了第一项的值int i,m=1; //m 表示每项的分母;for(i=2;i<=n;i++){ m=m+i;sum=sum+1.0/m;}return sum;}(3) (sy7-3.c)请编写函数fun,其功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中。

合并的方式是:将 a 数的十位和个位依次放在c 数的十位和千位上,b 数的十位和个位数依次放在c 数的个位和百位上。

例如,当a=45,b=12,调用该函数后,c=5241。

算法分析:对一个两位数n,它的各位可以通过n%10求的,它的十位数可以通过n/10求的;所以分别用上述方法求的a和b的个位和十位,同时按照要求累加到c里。

全国计算机等级考试二级C语言100题

全国计算机等级考试二级C语言100题

1:第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。

答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。

答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

答案:void fun(int x, int pp[], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4:第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到”z”26各字母各自出现的次数,并依次放在pp所指的数组中。

答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a’: pp[0]++;break;case ‘b’: pp[1]++;break;case ‘c’: pp[2]++;break;case ‘d’: pp[3]++;break;case ‘e’: pp[4]++;break;case ‘f’: pp[5]++;break;case ‘g’: pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’: pp[8]++;break;case ‘j': pp[9]++;break;case ‘k': pp[10]++;break;case ‘l’: pp[11]++;break;case ‘m’: pp[12]++;break;case ‘n’: pp[12]++;break;case ‘o': pp[14]++;break;case ‘p': pp[15]++;break;case ‘q’: pp[16]++;break;case ‘r': pp[17]++;break;case ‘s’: pp[18]++;break;case ‘t': pp[19]++;break;case ‘u’: pp[20]++;break;case ‘v': pp[21]++;break;case ‘w’: pp[22]++;break;case ‘x’: pp[23]++;break;case ‘y': pp[24]++;break;case ‘z': pp[25]++;break;}tt++;}}5:第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。

计算机二级考试C语言操作题题库

计算机二级考试C语言操作题题库

计算机二级考试C语言操作题题库1. 下列程序定义了n×n的二维数组,并在主函数中自动赋值。

请编写函数fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。

答案: int fun(int a[][N]) {int I,j;for(i=0;i<N;i++) for(j=0;j<=I;j++) a[i][j]=0; }2. 请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。

答案:void fun(char *s,int num) {char t; int I,j;for(i=1;i<num-2;i++)for(j=i+1;j<num-1;j++)3. 请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ascii 值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t 所指的一个数组中。

答案:void fun(char *s,char t[]) {int I,j=0,n; n=strlen(s); for(i=0;I,n;i++) if(i%2==0&&s[i]%2==0) {t[j]=s[i]; j++; }t[j]=‘\\0’; }4. 请编写函数fun,该函数的功能是:将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

答案: void fun(char (*s)[n]for(j=0;j <n;j++) } ,char *b) for(i=0;i<m;i++) b[k]=‘\\0’; { { } inti,j,k=0; b[k]=*(*(s+i)+j) k++;5. 请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指的数组中,非素数的个数通过k传回。

答案: void fun(int m,int *k,int xx[]) if (i%j==0) break; { if(j=40&a<=49) b[4]+=1; { else if(a>=50&a <=59) b[5]+=1; int i,j; else if(a>=60&a<=69) b[6]+=1; for(j=0;i<m;j++) b[j]=0; else if(a>=70&a<=79) b[7]+=1; for(i=0;i<n;i++) else if(a>=80&a<=89) if(a>=0&a<=9) b[0]+=1; b[8]+=1; elseif(a>=10&a<=19) b[1]+=1; else if(a>=90&a<=99) b[9]+=1; elseif(a>=20&a<=29) b[2]+=1; else b[10]+=1; else if(a>=30&a<=39)b[3]+=1; }7. 请编写函数fun,其功能时:将两个两位数的正整数a、b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b的十位和个位整数依次放在c数的百位和个位上。

字符和字符串操作

字符和字符串操作

3. 请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度
的函数), 函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入:beijing shanghai<CR>(<CR>为回车键),函数将返回shanghai。
填空
t=t->next;
if(*str!=' ') *p++=*str;
*p='\0';
11. 请编一个函数fun(char *s),该函数的功能是把字符串中的内容逆置。例如:字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba。该题的算法是先分别找出字符串的两头,然后同时逐一往中间移动,每移动一次都进行两字符的位置对换,直到中间字符(用s+i<s+n-1-i来控制)。由于s+i中一个地址,因此要注意把它的内容取出再进行换位。
for(;s+i<s+n-1-i;i++)
{ t=*(s+i);*(s+i)=*(s+n-1-i);*(s+n-1-i)=t;}
12. 编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asd asasdfg asd as zx67 asdmklo,子字符串为as,则应输出6。
else return(s);
4. 请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串123412132,输入字符1,则输出3。
填空 (1) j++ (2) s[i]=t1[i] (3) j

计算机二级C上机考试题库3

计算机二级C上机考试题库3
下标奇数位置子母改大写
填空:k N a[k][i]
改错:for( i = strlen( t )-1; i; i-- )
if(t[j]>t[j+1])
21.请编写—个函数void fun(char *ss),下标奇数位置子母改大写
c
填空:NULL n head,ch
改错:for (i = 0,t = 0; p[i] ; i++)
删除串中所有*号
i
填空:1 j++j
改错:t=a;a=b;b=t;
return(b);
13.
删除串尾*号
填空:N i -1
改错:a2=k/10;
return i;
14.
除前导*外其他删除*
填空:N k ss[i]
改错:int k=0;
while( *p || *q )
15.
删除前导和尾部*
填空:N substr 0
改错:double fun(double a, double x0)
if( fabs(x1-x0)>0.00001 )
54.
分数最低学生数据放在b所指数组
填空:struct student a.score[i]
改错:if(p==n) return -1;
a[i]=a[i+1];
55.找出成绩最低学生纪录
改错:int fun(int a[],int m)
else if(m > a[mid])
11.请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。
只删除中间*号
int j=0; char *q=a;
while(*q && q < h) a[j++] = *q++ ;

2021年河南省新乡市全国计算机等级考试C语言程序设计测试卷(含答案)

2021年河南省新乡市全国计算机等级考试C语言程序设计测试卷(含答案)

2021年河南省新乡市全国计算机等级考试C语言程序设计测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.快速排序在已经有序的情况下效率最差,复杂度为()A.O(nlogn)B.O(n^2logn)C.O(n^1.5)D.O(n^2)2.以下选项中,能用作数据常量的是______。

A.o115B.0118C.1.5e1.5D.115L3.以下不正确的定义语句是A.A.double x[5]={2.0,4.0,6.0,8.0,10.0};B.int y[5.3]={0,1,3,5,7,9};C.char c1[]={′1′, ′2′, ′3′, ′4′, ′5′};D.char c2[]={′\x10′, ′\xa′, ′\x8′};4.5.有以下程序#include<stdio.h>main(){char *s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。

程序运行后的输出结果是A.5670 B.656667 C.567 D.ABC6.有以下程序:程序运行后的输出结果是()。

A.1.000000B.0.000000C.0.250000D.0.5000007.下面是有关C语言字符数组的描述,其中错误的是()。

A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串8.递归式的先序遍历一个n节点,深度为d的二叉树,则需要栈空间的大小为()A.O(logn)B.O(nlogn)C.O(n)D.O(d)9.有以下程序段int j;float y;char name[50]:scanf("%2d%f%s",&i,&.y,name):当执行上述程序段,从键盘上输入55566 7777abc后,y 的值为( )。

C语言上机试题库

C语言上机试题库

C上机试题库一、2002年4月/*程序修改题1给定程序MODI1.C中函数fun的功能是: 先从键盘上输入一个3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。

请改正函数fun 中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!*/#includeint fun(){int a[3][3],sum;int i,j;/*********found**********/sum=0;//______;for (i=0; i < 3; i++){ for (j=0; j < 3; j++)/*********found**********/scanf("%d",&a[ i ][ j ]);//scanf("%d",a[ i ][ j ]);}for (i=0; i < 3; i++)sum=sum+a[ i ][ i ];printf("Sum=%d\n",sum);}main(){fun();}/*编程题编写程序, 实现矩阵(3行3列)的转置(即行列互换)例如, 输入下面的矩阵:100 200 300400 500 600700 800 900程序输出:100 400 700200 500 800300 600 900注意: 部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容, 仅在函数fun 的花括号中填入你编写的若干语句。

*/#include#includeint fun(int array[3][3]){//int i,j,t;for(i=0; i < 3; i++)for(j=0; j < i; j++){ t=array[i][j];array[i][j]=array[j][i];array[j][i]=t; }//}main(){int i,j;int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};clrscr() ;for (i=0; i < 3; i++){ for (j=0; j < 3; j++)printf("%7d",array[i][j]);printf("\n");}fun(array);printf("Converted array:\n");for (i=0; i < 3; i++){ for (j=0; j < 3; j++)printf("%7d",array[i][j]);printf("\n");}NONO();}NONO(){/* 请在此函数内打开文件,输入测试数据,调用fun 函数,输出数据,关闭文件。

C语言编程题及答案09303

C语言编程题及答案09303

C语言编程题及答案093031请编写函数fun,其功能就是:找出2×M 整型二维数组中最大元素的值,并将此值返回调用函数。

int fun (int a[ ][M]){int i,j,max =a[0][0];for(i =0;i<2;i ++)for(j =0;j<="">if(max<a[i][j])< p="">max =a[i][j];return max;}2编写函数fun,其功能就是:根据以下公式求π的值(要求精度0、0005,即某项小于0、0005时停止迭代)。

()112123123412335357357123521nn π=++++?????+………… 程序运行后,若输入精度0、0005,则程序应输出为3、14…。

double fun( double eps){double s=1、0,s1=1、0;int n=1;while(s1>=eps) /*当某项大于精度要求时,继续求下一项*/{ s1=s1]s=s+s1; /*求与*/n++;}return 2]3编写函数fun,其功能就是:求出1到1000之间能被7或11整除,但不能同时被7与11整除的所有整数,并将其放在a 所指的数组中,通过n返回这些数的个数。

void fun(int *a,int *n){int i,j=0;for(i=1;i<=1000;i++) /*求1到1000之内能被7或11整除但不能同时被7与11整除的所有整数,并放入数组a中*/if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j; /*传回满足条件的数的个数*/}4规定输入的字符串中只包含字母与*号。

编写函数fun,其功能就是:删除字符串中所有的*号。

编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当就是:ABCDEFG。

南开100后50题

南开100后50题
90.请编写函数fun,其功能是:计算并输出下列多项式值:Sn=(1-1/2)+(1/3-1/4)+...+(1/(2n-1)1/2n).
91.请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。
100.请编写函数fun,其功能是:计算并输出 s=1+(1+2(0.5))+(1+2(0.5)+3(0.5))+...+(1+2(0.5)+3(0.5)+...+n(0.5))
文章出处:DIY部落(/course/comshiti/rank2/c2/cmn/2007520/34602.html)
74.学生的记录由学号和成绩组成N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:把分数最低的学生数据放在h所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。
75.请编写函数fun ,该函数的功能:将M行N列的二维数组中的数据,按列的顺学依次放到一维数组中。
78.请编写函数fun,其功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
79.已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。
80.程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun,该函数的功能是:使数组左下半三角元素中的值乘以n。
81.请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。

C语言内部题库

C语言内部题库
{ int i,j,k,n;
i=a%10; j=a/10; k=b%10; n=b/10;
*c=j*1000+k*100+i*10+n;}
改:[1]int fun(int n,int xx[M][M])
[2]printf("%4d ",xx[i][j]);
填:[1]1 [2]s!=0 [3]i*10
例如,当a=45,b=12,调用该函数后c=5142。
void fun ( int a, int b, long *c)
{ *c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10 ; }
改:[1]if (d%2==0) [2]s/= 10;
填:[1]"r" [2]fs [3]ft
a[i]='\0'; }
}
改:[1]t=1.0; [2]return(s*2);
填:[1][M] [2]N [3]'\0'
4.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的字符串函数。
第一类 删除或移动星号
1.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。
void fun(char *a )
{ while(*a!='\0') a++;

计算机等级考试-二级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<N; i++)/**********found**********/fwrite(&std[i], sizeof(STYPE), 1, ___3___);fclose(fp);return (1);}修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。

例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。

请改正程序中的错误,使他能得出正确的结果。

注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!void fun (char *s, char *t){ int i, sl;sl = strlen(s);/************found************/for( i=0; i<=s1; i ++)t[i] = s[i];for (i=0; i<sl; i++)t[sl+i] = s[sl-i-1];/************found************/t[sl] = '\0';}程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。

C语言程序设计题(程序填空)与详细解析

C语言程序设计题(程序填空)与详细解析

C 语言程序设计题(程序填空)与详细解析请勿改动主程序main 及其他给定函数中的任何内容,仅在指定函数内的花括号中填入你编写的若干语句。

1.请编一个函数int day(int k,int m,int n),其功能是:返回小蚕需要多少天才能爬到树顶(树高k 厘米,小蚕每天白天向上爬m 厘米,每天晚上因睡觉向下滑n 厘米,爬到顶后不再下滑)(n <m <k )。

例如,若分别 输入253、71、29给 k 、m 、n ,则输出结果为:6。

include <conio.h>#include <stdio.h>#include <windows.h>int day( int k, int m, int n ) { }main(){ int k, m, n; system("cls");printf("\nPlease enter 3 numbers: ");scanf("%d %d %d", &k, &m, &n ); printf( "\nFor %d days, worm will be at the top.",day(k,m,n));}解析:在参考程序中用一个for 循环来统计天数,如果小蚕某一天白天爬到了树顶,则它就不会再往下滑。

因此我们应先判断小蚕是否是在白天爬到树顶,如果已经爬到了树顶就直接返回天数。

2.请编写函数fun ,其功能是:计算并输出下列多项式的值:S = 1 + 1/1! + 1/2! + 1/3! + 1/4! + ... + 1/n! 例如,在主函数中从键盘给n 输入15则输出为:s=2.718282。

注意:要求n 的值大于1但不大于100。

#include <stdio.h> double fun(int n) { } main(){ int n; double s; printf("Input n: "); scanf("%d",&n); s=fun(n);printf("s=%f\n",s); }解析:本题是求多项式的和,从中可以找出规律,各项式的分子为一阶乘数,可以通过循环先求出n!,然后求其倒数,将此值赋给一个变量,然后再求此变量的累加值。

2021-2022学年浙江省温州市全国计算机等级考试C语言程序设计真题(含答案)

2021-2022学年浙江省温州市全国计算机等级考试C语言程序设计真题(含答案)

2021-2022学年浙江省温州市全国计算机等级考试C语言程序设计真题(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1. 若有说明char s1[30]="The city",s2[]="is beautiful";,则在使用函数strcat(s1,s2)后,结果是( )。

A.s1的内容更新为The city is beautiful\0B.s1的内容更新为is beaut\0C.s1的内容更新为The city\0is beautiful\0D.s1的内容更新为The cityis beautiful\02.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()A.(n-1)/2B.n/2C.(n+1)/2D.n3.下列不可用于C语言用户标识符的是A.A.j2_KEYB.charC._g_D.Double4.在以下给出的表达式中,与“while(E)”中的“(E)”不等价的表达式是()。

A.(E>0||E<0)B.(E==0)C.(!E==0)D.(E!=0)5.数据流图(DFD)的作用是()。

A.描述软件系统的控制流B.支持软件系统的功能建模C.支持软件系统的面向对象分析D.描述软件系统的数据结构6.有以下程序:#include <stdio.h>void main(){char *s=“\ta\018bc”;for( ; *s !=‘\0’; s++)printf(“*”);printf(“\n”);}程序运行后的输出结果是()。

A.******B.*********C.*****D.*******7.下列选项中不是字符常量的是( )。

A.'\v'B.'\x2a'C.'a'D."\0"8.若变量已正确定义,有以下程序段A.0,0B.0,1C.1,1D.程序进入无限循环9.10. 下面软件中,属中应用软件的是( )A.UnixB.人事管理系统C.数据库管理理系统D.DOS11.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。

编程答题

编程答题

65-3请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最大元素的值,并将此值返回调用函数。

fun (int a[][M]){int max=a[0][0],i,j;for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}26-3请编写函数fun,其功能是:计算并输出3到n之间所有素数的平方根之和。

double fun(int n){inti,j;double s=0;for(i=3;i<=n;i++)//产生3-n之间的所有数{ for(j=2;j<i;j++)//判断i是否为素数if(i%j==0) break;if(i==j) s+=sqrt(i);//为素数时,对其开平方求和}return s;}30-3int fun(intlim,int aa[MAX]){inti,c=0,j;for(i=2;i<=lim;i++){ for(j=2;j<i;j++)if(i%j==0) break;if(i==j) aa[c++]=i;} return c; }36-3请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。

void fun(intm,int *k,int xx[]) {inti,c=0,j;for(i=2;i<=m;i++) { for(j=2;j<i;j++)if(i%j==0) break;if(i>j) xx[c++]=i;}*k=c;}2-3请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):double fun ( double eps){double s=1,t,fz,fm;inti;fz=fm=1; for(i=1;fz/fm>=eps;i++){fz=fz*i;fm=fm*(2*i+1);t=(double)fz/fm;s+=t;}return 2*s;}47-3编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。

C语言上机考试试题

C语言上机考试试题

1.给定程序modi.c中,函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中,若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。

例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。

程序如下:#include <stdio.h>#define SIZE 20fun(double *s,double *w){ int k,i; double sum;for (k=2,i=0;i<SIZE;i++){s[i]=k; k+=2;}sum=0.0;for(k=0,i=0;i<SIZE;i++){sum+=s[i];if ((i+1)%5==0) //说组的第一个为s[0],则应该加1后就行除5//{ w[k]=sum/5;sum=0;k++;} }return k;}main(){ double a[SIZE],b[SIZE/5];int i,k;k=fun(a,b);printf("The original data:\n"); for (i=0;i<SIZE;i++){if(i%5==0) printf("\n");printf("%4.0f",a[i]);}printf("\n\nThe result:\n");for(i=0;i<k;i++){printf("%6.2f",b[i]);}printf("\n\n");}2.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。

若两个字符串长度相同,则返回第一个字符串。

例如,输入beijing <CR> shanghai <CR>(<CR>为回车键)函数将返回shanghai。

全国二级考试计算机-二级C上机考试题库

全国二级考试计算机-二级C上机考试题库

类型一:调整一个数的个、十、百、千位1.请编写函数fun,其功能是:将两个两位数的正整数2.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是将a、b合并形成一个整数放在c中。

合并的方式是将a数的十位和个位数依次放在c数的千位和十位上,b a数的十位和个位数依次放在c数的个位和百位上,b 数的十位和个位数依次放在c数的百位和个位上。

数的十位和个位数依次放在C数的千位和十位上。

例如,当a=45,b=12,调用该函数后C=4152。

例如,当a=45,b=12,调用该函数后C=1524。

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10); *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);填空:STYPE FILE Fp 填空:*fw str str改错:for( i=0; i<=sl; i ++) 把s后字母改为小写L 改错:void fun (1 ong s,l ong *t)t[2*sl] = '\0'; sl=sl*10;3.请编写函数fun,其功能是:将两个两位数的正整数4.请编写函数fun,其功能是将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是将a、b合并形成一个整数放在C中。

合并的方式是将a数的十位和个位数依次放在c数的个位和百位上,b a数的十位和个位数依次放在C数的十位和千位上,b 数的十位和个位数依次放在c数的十位和千位上。

数的十位和个位数依次放在C数的百位和个位上。

例如,当a=45,b=12,调用该函数后C=2514。

例如,当a=45,b=12,调用该函数后C=5142。

*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10); *c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);填空:fp fclose(fp) fname 填空:"r" fs ft改错:for ( i=j+1; i<=n_1 ; i++ ) 改错:if (d%2==0)p=i; s /= 10;5.请编写函数fun,其功能是:将两个两位数的正整数6.请编写函数fun,其功能是将两个两位数的正整数a、b合并形成一个整数放在c中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。

若两个字符串长度相同,则返回第一个字符串。

例如,输入:beijing shanghai<CR>(<CR>为回车键),函数将返回shanghai。

#include <stdio.h>
char *fun ( char *s, char *t)
{
}
main( )
{ char a[20],b[10],*p,*q;
int i;
printf("Input 1th string:") ;
gets( a);
printf("Input 2th string:") ;
gets( b);
printf("%s\n",fun (a, b )); }
2.请编写一个函数fun,它的功能是:比较两个字符串的大小,(不得调用C语言提供的字符串比较函数strcmp()),函数返回较大的字符串。

若两个字符串相同,则返回第一个字符串。

例如,输入:abc abd,函数将返回abd。

#include <stdio.h>
char *fun ( char *s, char *t)
{
}
main( )
{ char a[20],b[10],*p,*q;
int i;
printf("Input 1th string:") ;
gets( a);
printf("Input 2th string:") ;
gets( b);
printf("%s\n",fun (a, b )); }
3. 程序填空题。

在【】处填上适当语句,使程序能运行得到正确结果。

给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。

ss
所指字符串数组中共有N个字符串,且串长小于M 。

#include <stdio.h>
#include <string.h>
#define N 5
#define M 8
void fun(char (*ss)[M])
{ char *ps[N],*tp; int i,j,k;
for(i=0; i<N; i++) ps[i]=ss[i];
for(i=0; i<N-1; i++) {
/*******found*****************/
k= 【1】;
for(j=i+1; j<N; j++)
/*************found*******************/
if(strlen(ps[k]) < strlen(【2】) ) k=j;
/*********found**********************/
tp=ps[i]; ps[i]=ps[k]; ps[k]= 【3】; }
printf("\nThe string after sorting by length:\n\n");
for(i=0; i<N; i++) puts(ps[i]);
}
main()
{ char ch[N][M]={"red","green","blue","yellow","black"}; int i;
printf("\nThe original string\n\n");
for(i=0;i<N;i++)puts(ch[i]); printf("\n");
fun(ch); }。

相关文档
最新文档