计算机二级C语言上机题库复习小抄(最新校正,精美排版)
计算机等级考试二级C语言上机 程序设计题库
1,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);}2 功能:将两个两位数的正整数A,B合并形成一个整数放在C中。
合并的方式:将A数的十位和个位数依次放在C数的个位和百位,B数的十位和个位数依次放在C数的千位和十位上*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);3 FUN的功能:将两个两位数的正整数A,B合并形成一个整数放在C中。
合并的方式:将A数的十位和个位数依次放在C数的个位和百位,B数的十位和个位数依次放在C数的十位和千位上*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);4 FUN的功能:将两个两位数的正整数A,B合并形成一个整数放在C中。
合并的方式:将A数的十位和个位数依次放在C数的十位和千位,B数的十位和个位数依次放在C数百的位和个位上*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10)5 编写一个函数FUN功能:计算N门课程的平均数,计算结果作为函数的返回直,输入90.5,72,80,61.5,55函数直:71.80int i;float ave=0.0;for(i=0; i<n; i++) ave=ave+a[i] ;ave=ave/n;return ave;6.编写一个函数,功能:比较两个字符串的长度,(不调用C语言提供的求字符串长度的函数),函数返回较长的字符串。
若长度相同,返回第一个字符串。
输入beijing <cr>shanghai<cr>返回shanghaiint 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 ;7int i ;*n=0 ;for(i=7 ; i<=m; i++)if((i % 7 == 0) || (i % 11 == 0)) a[(*n)++]=i ;8int i ;for(i = 1 ; i < strlen(*ss) ; i+=2) {if(ss[i] >= 'a' && ss[i] <= 'z') ss[i] -= 32 ;}9int i, j = 0 ;for(i = 0 ; i < strlen(s) ; i += 2)if(s[i] % 2 == 0) t[j++] = s[i] ;t[j] = 0 ;10int i, j = 0 ;for(i = 1 ; i < strlen(s); i+=2) t[j++] = s[i] ;t[j] = 011int i, j = 0 ;for(i = 0 ; i < strlen(s); i++) if(s[i] % 2) t[j++] = s[i] ; t[j] = 0 ;12char num[10]; int s; } STU;fun( STU a[], STU *s ){int i, max = a[0].s, j = 0;for(i = 1 ; i < N ; i++)if(max < a[i].s) {j = i ;max = a[i].s ;}*s = a[j] ;}13int i, j;for(i = 0 ; i < N ; i++)for(j = 0 ; j <= i; j++)a[i][j] *= n ;14int i, j;for(i = 0 ; i < N ; i++)for(j = 0 ; j <= i; j++)a[i][j] = 0 ;15int i,j, min, k ;for(i = 0 ; i < N ; i++) {min = tt[0][i] ; k = 0 ;for(j = 1 ; j < M ; j++)if(min > tt[j][i]) {min=tt[j][i] ;k = j ;}pp[i] = tt[k][i] ;}16设计题#include <stdio.h>unsigned fun ( unsigned w ){if(w>10000) w %= 10000 ;else if(w>1000) w %= 1000 ;else if(w>100) w %= 100 ;else if(w>10) w %=10 ;return w ;18.编写函数FUN,函数的功能是:从S所只的字符删除给定的字符。
计算机二级C语言上机题库及答案(100套)
计算机二级c 语言上机题库及答案.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。
试题程序: #include <stdio.h>long fun(int n){if ( 1 )return (n*fun( 2 ));return 3 ;}main(){printf("10!=%ld\n", fun(10));}第1 处填空:n>1 或1<n第2 处填空:n-1第3 处填空:1 或11 或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1 处:Isprime(int n);应改为Isprime(int n)第2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在score 数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。
计算机二级考试C语言上机试题(100题)
1.程序填空题在主函数中从键盘输入若干个数放入数组a中,用0结束输入但不计入数组。
下列给定程序中,函数fun的功能是:输出数组元素中小于平均值的元素。
例如,数组中元素的值依次为34、54、675、456、453、121,则程序的运行结果为34、54、121。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>void fun(___1___,int n){double count=0.0;double average=0.0;int i=0;for(i=0;i<n;i++)___2___;average=___3___;for(i=0;i<n;i++)if(a[i]<average){if(i%5==0)printf("\n");printf("%d,",a[i]);}}main(){int a[1000];int i=0;printf("\nPlease enter datas(end with 0):");do{scanf("%d",&a[i]);}while(a[i++]!=0);fun(a,i-1);}【答案】(1) int a[] (2)count+=a[i]或count=count+a[i] (3)count/n2.程序修改题给定程序中,函数fun的功能是:根据整型形参m,计算如下公式的值:y=1+1/(2*2)+1/(3*3)+1/(4*4)+…+1/(m*m)例如:若m中的值为5,则应输出1.463611。
请改正程序中的错误,使其能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdio.h>double fun(int m){double y=1.0;int I;/**********found**********/for(i=2;i<m;i++)/**********found**********/y+=1/(i*i);return(y);}main(){int n=5;printf("\nThe result is %lf\n", fun(n));}【答案】(1)将for(i=2;i<m;i++) 改为:for(i=2;i<=m;i++)(2)将y+=1/(i*i); 改为:y +=1.0/(i*i);3.程序设计题函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。
计算机二级C语言上机复习题及答案解析范文一份
计算机二级C语言上机复习题及答案解析范文一份计算机二级C语言上机复习题及答案解析 1计算机二级C语言上机复习题及答案解析填空题给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。
ss所指字符串数组__有N个字符串,且串长小于M。
程序中库函数strstr(s1, s2)的功能是在s1串中查找s2子串,若没有,函数值为0,若有,为非0。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include#include#define N 5#define M 15void fun(char (*ss)[M], char *substr){ int i,find=0;for(i=0; i __1__ ; i++)if( strstr(ss[i], __2__) != NULL ){ find=1; puts(ss[i]); printf(“\n"); }if (find==__3__) printf("\nDon't found!\n");}main(){ char x[N][M]={"BASIC","C langwage","Java","QBASIC","Access"},str[M];int i;printf("\nThe original string\n\n");for(i=0;i printf("\nEnter a string for search : "); gets(str);fun(x,str);}解题思路:本题是根据给定的字符串数组中查找指定的字符串,如果存在,则显示。
计算机二级C上机考试题库及答案
计算机二级C上机考试题库及答案一、单项选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello, World!";B. char str[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};C. char str[] = {"Hello, World!"};D. char str[] = "Hello, World!";答案:A2. 下列哪个函数用于将字符串s1复制到s2中?A. strcat(s1, s2);B. strcpy(s1, s2);C. strcmp(s1, s2);D. strncpy(s1, s2, n);答案:B3. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A4. 如果一个变量被声明为static int,那么这个变量的生命周期是?A. 只在函数调用期间B. 程序运行期间C. 只在程序启动时D. 只在程序结束时答案:B5. 在C语言中,以下哪个运算符用于计算两个整数的差?A. +B. -C. *D. /答案:B6. 以下哪个选项不是C语言中合法的标识符?A. _myVarB. my_varC. 2ndVarD. var$name答案:C7. 在C语言中,以下哪个选项是正确的数组定义方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3};D. int arr[] = {1, 2, 3, 4};答案:A8. 以下哪个选项是正确的C语言注释方式?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment */答案:A9. 在C语言中,以下哪个选项是正确的多行字符串定义方式?A. char str[] = "Line1\nLine2";B. char str[] = 'Line1\nLine2';C. char str[] = "Line1\nLine2";D. char str[] = "Line1\nLine2";答案:A10. 在C语言中,以下哪个选项是正确的结构体定义方式?A. struct Student {int id;char name[50];};B. struct Student {int id;char name[];};C. struct Student {int id;char name[50] = "John Doe";};D. struct Student {int id;char name[];};答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以对变量进行自增操作。
二级C上机100题
二级C语言上机考试复习资料,共有100套题目一、程序填空题1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。
当调用正确时, 程序输出:x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!#include <stdio.h>double f1(double x){ return x*x; }double f2(double x, double y){ return x*y; }/**********found**********/__1__ fun(int i, double x, double y){ if (i==1)/**********found**********/return __2__(x);else/**********found**********/return __3__(x, y);}main(){ double x1=5, x2=3, r;r = fun(1, x1, x2);r += fun(2, x1, x2);printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r);}\\\1、(1)double(2)f1(3)f22、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!#include <stdio.h>#include <string.h>struct student {long sno;char name[10];float score[3];};void fun(struct student a[], int n){/**********found**********/__1__ t;int i, j;/**********found**********/for (i=0; i<__2__; i++)for (j=i+1; j<n; j++)/**********found**********/if (strcmp(__3__) > 0){ t = a[i]; a[i] = a[j]; a[j] = t; }}main(){ struct student s[4]={{10001,"ZhangSan", 95, 80, 88},{10002,"LiSi", 85, 70, 78},{10003,"CaoKai", 75, 60, 88}, {10004,"FangFang", 90, 82, 87}};int i, j;printf("\n\nThe original data :\n\n");for (j=0; j<4; j++){ printf("\nNo: %ld Name: %-8s Scores: ",s[j].sno, s[j].name);for (i=0; i<3; i++) printf("%6.2f ", s[j].score[i]);printf("\n");}fun(s, 4);printf("\n\nThe data after sorting :\n\n");for (j=0; j<4; j++){ printf("\nNo: %ld Name: %-8s Scores: ",s[j].sno, s[j].name);for (i=0; i<3; i++) printf("%6.2f ", s[j].score[i]);printf("\n");}}\\2、(1)struct student(2)n-1(3)a[i].name,a[j].name3、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y 所指数组中,在主函数中输出。
全国计算机等级考试二级C语言上机题库(全)
int i; for(i=1;i<strlen(ss);i+=2) {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,它的功能是:根据以下公
for(i=1;i<N;i++) if(max<a[i].s)max=a[i].s; for(i=0;i<N;i++) if(max==a[i].s)b[n++]=a[i]; return n; } 第九套 1. 程序填空 给定程序中,函数 fun 的功能是:计算形参 x 所指数组中 N 个数的平 均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至 数据的前部,大于等于平均数的移至 x 所指数组的后部,平均值作为 函数值返回,在主函数中输出平均值和移动后的数据。 第一处 for(i=0;i<N;i++) av+=x[i]/N 第二处 y[j]=x[i]; x[i]=-1;j++;} 第三处 i++; 2. 程序修改 给定程序 MODI1.C 中函数 fun 的功能是:统计字符串各元音字母 (即:A、E、I、O、U)的个数。注意字母不分大小写。 /**found**/ num[k]=0;
计算机二级C语言上级题库 考试小抄版
类型二:与*号有关的操作9.请编写函数f un,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。
删除前导*号 int j=0; char *p = a ; while(*p == '*') p++ ; while(*p) { a[j++] = *p ; p++; } a[j]=0 ; 填空:[N] t[i][j] t[j][i] 改错:#define FU(m,n) ((m)/(n)) return(value); 10.请编写函数f un,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。
形参p 已指向字符串中最后的一个字母。
除尾部*号,其余*删除char *q=a; int j=0; while(*q && q<p) { if (*q != '*') a[j++] = *q ; q++ ; } while(*p) a[j++]=*p++; a[j]=0; 填空:t[][N] i=0;i<n s改错:int fun(int a[],int m)else if(m > a[mid])19.编写一个函数,从传入的num 个字符串中找出最长的一个字符串,并通过形参指针max 传回该串地址 (用****作为结束输入的标志)。
int i,k=0,maxlen; maxlen=strlen(a[k]); f or(i=1;i<num;i++) { if (strlen(a[i]) > maxlen) { maxlen = strlen(a[i]) ; k = i ; } } *max=a[k]; 填空:[N] i i+1 改错:aa[i]=m%k; printf("%d",aa[i-1]); 11.请编写函数f un,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。
国家计算机二级C语言上机考试题库
国家计算机二级C语言上机考试题库全国计算机考试上机题库100套第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include void fun(unsigned long *n){ unsigned long x=0, i; int t; i=1; while(*n){ t=*n % __1__; if(t%2!= __2__){ x=x+t*i; i=i*10; } *n =*n /10; } *n=__3__; } main() { unsigned long n=-1; while(n>99999999||n double fun ( int n ){ double result =1.0 ; if n = = 0 return1.0 ; while( n >1 /* len为串长,t为正负标识 */ long x=0; len=strlen(p); if(p[0]==1; len--; p++; } else t=1;/* 以下完成数字字符串转换为一个数字 */ return x*t; } main()/* 主函数*/ { char s[6]; long n; printf(“Enter a string:\n“); gets(s); n = fun(s); printf(“%ld\n“,n); NONO ( ); } NONO ( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/ FILE *fp, *wf ; int i ; char s[20] ; long n ; fp = fopen(“c:\\test\\in.dat“,“r“); wf = fopen(“c:\\test\\out.dat“,“w“); for(i = 0 ; i #include long fun ( char *p){ int i, len, t; /* len为串长,t为正负标识 */ long x=0; len=strlen(p); if(p[0]==1; len--; p++; } else t=1; /* 以下完成数字字符串转换为一个数字 */ while(*p) x = x*10-48+(*p++); return x*t; } main()/* 主函数*/ { char s[6]; long n; printf(“Enter a string:\n“); gets(s); n = fun(s); printf(“%ld\n“,n); NONO ( ); } NONO ( ){/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
3月全国计算机等级考试二级C语言上机题库(20~30套)
3月全国计算机等级考试二级C语言上机题库(20~30套)3月全国计算机等级考试二级C语言上机题库(20~30套)考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。
第二十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。
ss所指字符串数组中共有N个字符串,且串小于M。
第一处void fun(char (*ss)[M], int k)第二处while (i第三处ss[i][k]=0;i++;}2. 程序修改给定程序MODI1.C中函数fun的功能是:根据以下公式求值,并作为函数值返回。
例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。
/**found**/t=1;/**found**/return(2*s);3. 程序设计假定输入字符串中只包含字母和*号。
请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
函数fun中给出的语句仅供参考。
void fun(char*a,int n){int i=0,k=0;while(a[k]= =*)k++;if(kn){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}}第二十二套1. 程序填空给定程序中,函数fun的功能是:a所指43矩阵中第k行的元素与第0行元素交换。
例如:有下列矩阵1 2 34 5 67 8 910 11 12若k为2,程序执行结果为7 8 94 5 61 2 310 11 12第一处void fun(int (*a)[N],int k)第二处for(i=0;i第三处a[0][i]=a[k][i];2. 程序修改给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符串按ASCII码升序排序后输出。
全国计算机二级C语言上机考试题库简洁版
从形参ss 所指字符串数组中,删除所有串长超过k 的字符串,函数返回剩余字符串的个数。
ss 所指字符串数(1) N (2) k (3) ss[i](1) int k=0; (2)while (*p||*q) 在形参ss 所指字符串数组中,将所有串长超过k 的字符串中后面的字符删除,只保留前面的k 个字符 (1) [M] (2) N (3)'\0' (1)t =1.0; (2)return(s*2);(1)void fun(char *str, char ch )(2)if ( *str != ch ) (3)str[1] = 0; 排序,并输出排(1)i (1)double fun(int n) (2)return sum ; 符*补齐 (1)result*=n--;(2)return result ; 字符*补齐,(1) int\\\\if(*p ==' ') (2) 加右括号字符串所在的行下标,作为函数值返回,(1)[N] (2)len (3)*n =len (1)字符串所在的行下标,ss 所指字符串(1)M (2) < (3) k(1)if(( tt[i]>='a')&&( tt[i] <= 'z'))(2)tt[i]-=32;在形参ss 所指字符串数组中查找与形参t 所指字符串相同的串,找到后返回该串在字符串数组中的位置 (1)N (2)i (3) -1 (1)a2=k/10; (2)return i;在形参ss 所指字符串数组中,查找含有形参substr 所指子串的所有字符串并输出,若没找到则输出相应信息(1) N (2) substr (3) 0 (1)fun(int x,int y, int z) (2)return j; 若形参s 所指的字符串为abcdef35adgh3kjsdf7,输出结果为4。
计算机等级二级C语言上机考试题库
1、给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:1 5 7 23 87 5 8 21 45按升序排列时的中间数为:8处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!#include#define N 9int fun(int x[]){ int i,j,k,t,mid,b[N];for(i=0;i<N;I++)&NBSP;B[I]=X[I];for(i=0;i<=N/2;i++){ k=i;for(j=i+1;j<N;J++)&NBSP;IF(B[K]>b[j]) k=j;if(k != i ){/**********found**********/t=b[i]; b[i]=___1___; b[k]=t;}}/**********found**********/mid=b[___2___];for(i=0; i<N;&NBSP;I++)/**********found**********/if(x[i] ___3___ mid) x[i]=mid;return mid;}main(){ int i, x[N]={1,5,7,23,87,5,8,21,45};for(i=0; i<N;&NBSP;I++)&NBSP;&NBSP;PRINTF("%D&NBSP;",X[I]);printf("\nThe mid data is: %d\n",fun(x));for(i=0; i<N;&NBSP;I++)&NBSP;&NBSP;PRINTF("%D&NBSP;",X[I]);printf("\n");}2、给定程序中,函数fun的功能是建立一个N×N的矩阵。
全国计算机等级考试二级C语言上机考试题库及答案
第1套一、填空给定函数的功能是调用fun 函数建立班级通讯录。
通讯录记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。
答案:1. STYPE 2. FILE3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s 中的字符按逆序连接到t串后面。
答案:1. for(i = 0 ; i < sl ;i++) 2. t[2*sl] =` 0`; 三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。
*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第2套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。
然后将文件的内容读出显示在屏幕上。
文件的读写分别有自定义函数ReadText 和WriteText实现。
答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。
答案:long *t sl =sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。
*c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);第3套一、填空将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。
答案:(1)fp (2)fclose(fp)(3)fname二、修改将n个无序整数从小到大排序。
答案:for(i=j+1;i<n;i++)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。
国家计算机2级等级考试C语言上机编程100题库必备
国家计算机2级等级考试-C语言上机编程100题库-必备-(1)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 所指的数组中。
计算机等级考试二级C语言上机题库(含答案)(精品)
重要说明:本题库为从题中一题一题复制出来工作量大,而且有许多表达式无法在word中快速表示出来(这样会加大工作量)故而省略,或者表达错位,有的地方可能或者肯定会有错,我相信准备参加C语言二级考试的同学应当能够对照参考答案看出来,这是最新版最完整考试题库,相信大家一定都能通过!第一套程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
如输入一个数:27638496,新的数为729第一空:{ t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。
例如,给n输入5,则输出120.000000。
double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}程序设计请编写一个函数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的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
全国计算机等级考试(二级C)上机题库100题.doc
int vectorLVSTZEJ;
/*注:该题的算法是用一个变量(j)来存储最小值 元素的下标,在循环过程中让每个元
素都与原最小值元素进行大小比较
(if (list[i]〈list[j]),如发现更小的则让j重新 拥有最小值元素的下标(j=i)o */
int fun(int 1ist[], int size)
printf ("The sum of even number:%d\n", even);
)
4、要求程序的功能是:把20个随机数存入一个 数组,然后输出该数组中的最小值。其
中确定最小值的下标的操作在fun函数中实现,请 给出该函数的定义。
试题程序。
#include <stdio. h>
■include <conio. h>
fun(int *a, int n, int *odd, int *even)
( int i; *cvcn=0;*odd=0;
for(i=0;i〈n;i++)
if(!(a[i]%2))
*even+=a[i];
else
*odd+=a[i];
}
main()
( int a[N]=(l, 9, 2, 3, 11,6), i, n=6, odd, even;
}
i=fun(vector, VS1ZE);
printf ('AnMininum: vector [%d] =%6d\n,\ i, vecto r[i]);
}
5、清编一个函数float fun (double h),函数的 功能是对变量h中的值保留2位小数,并
二级c上机考试题库
二级c上机考试题库
在二级C上机考试中,备考过程中积累了大量的题目是非常必要的。
为了帮助考生更好地备考,以下是一份涵盖各个知识点的二级C上机
考试题库,希望对考生们有所帮助。
1. 编写一个程序,实现输入一个整数n后,计算并输出n的阶乘。
2. 编写一个程序,实现输入一个整数n后,计算并输出n的平方根。
3. 编写一个程序,实现输入两个整数a和b后,求出a和b的最大
公约数。
4. 编写一个程序,实现输入一个字符串后,统计并输出字符串中大
写字母、小写字母、数字和其他字符的个数。
5. 编写一个程序,实现输入一个整数n后,输出n行杨辉三角形的
前n行。
6. 编写一个程序,实现输入一个集合A和一个集合B,输出A和B
的并集。
7. 编写一个程序,实现输入一个字符串s和一个子字符串sub,统
计并输出字符串s中子字符串sub的出现次数。
8. 编写一个程序,实现输入一个整数n后,输出n以内的所有素数。
9. 编写一个程序,实现输入一个整数n后,输出n的所有因子。
10. 编写一个程序,实现输入一个整数n后,输出n的二进制表示。
以上是二级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中。
计算机等级考试二级C语言上机试题上汇总(可直接打印版)
计算机等级考试二级C语言上机试题上汇总第 1套试题说明***********************************第一题(30分)给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据从小到大顺序链接。
函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点仍保持从小到大顺序排列。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!***********************************第二题(30分)给定程序MODI1.C中函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。
k的值由主函数传入, 若k的值为500, 则函数值为4622。
请改正程序中的错误,使程序能输出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! ***********************************第三题(40分)函数fun的功能是: 对指定字符在字符串a中出现的次数进行统计, 统计的数据存到b数组中。
其中: 字符'a'出现的次数存放到b[0]中,字符'b'出现的次数存放到b[1]中,字符'c'出现的次数存放到b[2]中,字符'd'出现的次数存放到b[3]中,字符'e'出现的次数存放到b[4]中,其它字符出现的次数存到b[5]中。
例如, 当a中的字符串为: "bacd1b+ddep",调用该函数后,b中存放数据应是:1、2、1、3、1、3。
注意: 部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
第 2套试题说明***********************************第一题(30分)给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机二级C语言上机题库复习小抄(最新校正,精美排版)第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun 的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>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<N;i++)if((a[i].s>=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/2;i++)第二处a[i]=a[n-1-i];第三处a[n-i-1]=t;2程序修改给定程序MODI1.C中函数fun的功能是:将一个由八进制数字字符串组成的字符串转换为与其面值相等的十进制整数。
规定输入的字符串最多只能包含5位八进制数字字符。
/**found**/n=*p-…0‟;/**found**/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<N;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<strlen(ss);i+=2){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…。
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<k;i++)t[j+i]=p[i];第三处t[j+k]=0;2. 程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指定字符串,所形成的新串放在w所指的数组中。
在此处,要求t1和t2所指字符串的长度相同。
/**found**/while(*w)/**found**/if(*r==*p)3. 程序设计函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指定的数组中。
void fun(char *s,char t[]){ int i,j=0;for(i=0;i<strlen(s);i++)if(s[i]%2==0)t[j++]=s[i];t[j]=0;}第七套1.程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。
函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。
第一处struct student *fun(struct student*a)第二处for(i=0;i<3;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 <stdio.h>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<N;i++)if(max<a[i].s)max=a[i].s;for(i=0;i<N;i++)if(max==a[i].s)b[n++]=a[i];return n;}第九套1. 程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至数据的前部,大于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
第一处for(i=0;i<N;i++)av+=x[i]/N第二处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<N;i++){tot +=a[0][i];tot +=a[M-1][i];}for(i=1;i<M-1;i++){tot +=a[i][0];tot +=a[i][N-1];}return tot;}第十套1.程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。