计算机二级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题)

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]++;b reak;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]++;bre ak;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语言上机考试100题

题目1:下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。
请编写函数num(int m,int k,int xx[])实现函数的要求,最后调用函数readwriteDAT()把结果输出到文件out.dat中。
例如:若输入17,5,则应输出:19,23,29,31,37。
注意:部分源程序已给出。
请勿改动主函数main()和函数readwriteDAT()的内容。
--------------类型:素数。
void num(int m,int k,int xx[]){int data=m+1;int half,n=0,I;while(1){half=data/2;for(I=2;I<=half;I++)if(data%I==0)break;if(I>half){xx[n]=data;n++;}if(n>=k)break;data++;} }题目2:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 如果四位数各位上的数字均是0或2或4或6或8, 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。
最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义数组: a[200], b[200], 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
-------------------------void jsVal(){int bb[4];int I,j,k,flag;for (I=0;I<200;I++){bb[0]=a[I]/1000; bb[1]=a[I]%1000/100;bb[2]=a[I]%100/10; bb[3]=a[I]%10;for (j=0;j<4;j++){if (bb[j]%2==0)flag=1;else{flag=0;break;}}if (flag==1){ b[cnt]=a[I];cnt++;} }for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if (b[I]<b[j]){k=b[I];b[I]=b[j];b[j]=k;}}题目3:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数STROR(),其函数功能是:以行为单位把字符串中的所有小写字母O左边的字符串内容移到该串的右边存放,然后并把小写字母O删除,余下的字符串内容移到已处理字符串的左边存放.最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT.DAT中.例如:原文:You can create an index on any field.you have the correct record.结果: n any field.You can create an indexrd.yu have the crrect rec原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.-------------------类型:字符串(单词)的倒置和删除。
计算机二级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语言中,使用________运算符可以对变量进行自增操作。
全国计算机等级考试2级C语言上机题库

第一套:1.1 填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶函数的数去除,剩余的书按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
void fun(unsigned long *n){ unsigned long x=0, i; int t;i=1;while(*n)/**********found**********/{ t=*n % 10 ;/**********found**********/if(t%2!= 0){ x=x+t*i; i=i*10; }*n =*n /10; }/**********found**********/*n=x; }1.2 改错给定程序MODI1.C 中函数fun的功能是:计算n!。
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 ;}1.3 程序请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
long fun ( char *p){ /* 以下代码仅供参考*/int i, len, t; /* 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; }第二套:2.1填空给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数些到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
全国计算机等级考试二级c语言上机题库

全国计算机等级考试二级c语言上机题库全国计算机等级考试二级c语言上机题库【例1】给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#includevoid 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<0){ printf("Please input(0fun(&n);printf("\nThe result is: %ld\n",n);}解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。
第二处:判断是否是奇数,所以应填:0。
第三处:最后通形参n来返回新数x,所以应填:x。
给定程序MODI1.C中函数 fun 的功能是:计算n!。
例如,给n输入5,则输出120.000000。
【例2】请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#includedouble fun ( int n ){ double result = 1.0 ;if n = = 0return 1.0 ;while( n >1 && n < 170 )result *= n--return result ;}main ( ){ int n ;printf("Input N:") ;scanf("%d", &n) ;printf("\n\n%d! =%lf\n\n", n, fun(n)) ;}解题思路:第一处:条件语句书写格式错误,应改为:if (n==0)。
2022年6月全国计算机等级考试二级C语言上机题库(最全)

2022年6月全国计算机等级考试二级C语言上机题库(最全)第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处tructtudentt;第二处for(i=0;i<n-1;i++)第三处if(trcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/某某found某某/q=p+i;/某某found某某/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
intfun(STREC某a,STREC某b,intl,inth){inti,j=0;for(i=0;i<N;i++)if((a[i].>=1&&a[i].<=h)b[j++]=a[i];returnj;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->ne某t;第三处q=q->ne某t;2.程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/某某found某某/p=j;/某某found某某/p=i;3.程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
计算机二级C上机考试题库及答案

计算机二级C上机考试题库及答案一、选择题1. 下面哪个不是C语言的关键字?A. intB. charC. doubleD. if答案:C2. C语言中,声明int a[10]; 表示的是什么类型的变量?A. 整型数组B. 字符型数组C. 浮点型数组D. 无类型数组答案:A3. 以下哪个函数用于从标准输入中读取一个字符?A. getchar()B. putchar()C. printf()答案:A4. 下面哪个运算符用于取两个操作数的余数?A. +B. -C. *D. %答案:D5. C语言中,用于判断两个数是否相等的运算符是?A. >B. <C. ==D. !=答案:C二、编程题1. 输出斐波那契数列的前20项。
```c#include <stdio.h>int n, i;long long t1 = 0, t2 = 1, nextTerm;printf("斐波那契数列的前20项:\n");for (i = 1; i <= 20; ++i) {printf("%lld, ", t1);nextTerm = t1 + t2;t1 = t2;t2 = nextTerm;}return 0;}```三、简答题1. C语言中的指针是什么?请简要说明指针的概念和作用。
答:C语言中,指针是一个用来存储内存地址的变量。
指针可以指向内存中的任何数据类型,包括整型、字符型、结构体等。
指针的作用主要有两点:一是可以通过指针直接访问、修改内存中的数据;二是可以动态地分配内存空间,提高程序的灵活性和效率。
2. 请简要说明C语言中的结构体是什么,以及它的作用及特点。
答:C语言中的结构体是一种自定义的数据类型,用于将不同类型的数据组合在一起形成一个逻辑整体。
结构体可以包含不同类型的成员变量,可以根据需要定义不同结构体类型的变量。
结构体的作用主要有两点:一是可以方便地管理和操作多个相关的变量;二是可以定义自己需要的数据类型,提高程序的可读性和可维护性。