浙江计算机二级考试(C语言)上机试题

合集下载

计算机二级考试C语言上机试题(100题)

计算机二级考试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语言上机考试真题

(二)上机编程题1. 程序设计题:z=f(x,y)=(3.14*x-y)/(x+y),若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,并将x1、y1以格式"%d,%d" 写入到考生目录下新建文件design.dat。

#include <stdio.h>void main(){ FILE *p; float f(int x,int y),min;int x,y,x1,y1;// 此处起要求考生自己编制程序min=100;p=fopen(“design.dat”, “w”);for(x=1;x<6;x++)for(y=1;y<6;y++)if(f(x,y)<min){ min=f(x,y); x1=x; y1=y; }fprintf(p, “%d,%d”,x1,y1); // 答案:x1=1, y1=5fclose(p); // 或若x<=6及y<=6 则x1=1, y1=6}float f(int u,int v){ return (3.14*u-v)/(u+v); }4.程序设计题:对x=1,2,...,10,求函数 f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该数以格式"%.3f"写到考生目录下新建文件design.dat。

#include <stdio.h>#include <math.h>void main(){ FILE *p; float f(float),max,x;// 此处起要求考生自己编制程序p=fopen(“design.dat”, “w”);max=f(1);for(x=2;x<=10;x++)if(max<f(x))max=f(x);fprintf(p,”%.3f”,max); // 答案:21.111fclose(p);}float f(float y){ y=y-10*cos(y)-5*sin(y);return (y);}6. 程序设计题:数组元素x[i]、y[i]表示平面上某点坐标,统计10个点中同处在圆(x-1)*(x-1)+(y+0.5)*(y+0.5)=25 和 (x-0.5)*(x- 0.5)+y*y=36内的点数k,并将变量k的值以格式"%d"写到考生目录下新建文件design.dat。

计算机二级C上机考试题库及答案

计算机二级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语言》上机操作试题及答案

计算机二级《C语言》上机操作试题及答案

计算机二级《C语言》上机操作试题及答案计算机二级考试是全国计算机等级考试,四个等级中的一个等级,由教育部考试中心主办,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。

下面是店铺收集整理的计算机二级《C语言》上机操作试题及答案,仅供参考,希望能够帮助到大家。

(1)一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、c、D、E依次入栈,然后再依次出栈,则元素出棱的顺序是( )。

A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA(2)下列叙述中正确的是( )。

A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的'(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。

A.0(n)B.D(n2)C.O(1092n)D.0(nl092n)(4)下列叙述中正确的是( )。

A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是( )。

A.控制流B.事件驱动C.模块调用D.数据流(6)在软件开发中,需求分析阶段可以使用的工具是( )。

A.N—s图B.DFD图C.PAD图D.程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是( )。

A.一致性B.分类性C.多态性D.标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。

A.一对一B.一对多C.多对一D.多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。

全国计算机等级考试二级C语言上机题库(全)

全国计算机等级考试二级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语言上机题库完整

浙江省计算机二级C语言上机题库完整

第二部份 C程序设计上机操作题 (2)一、数列求和 (2)二、最大公约数、最小公倍数 (6)三、排序算法 (7)四、数组 (8)五、求整数n的各位数字及各数字之和 (11)六、平面上各点之间的距离 (13)七、数制转换 (16)八、字符串处理 (17)九、最大值与最小值 (23)十、斐波那契(Fibonacci)数列 (26)十一、水仙花、完数、回文数与亲密数 (27)十二、方程求根 (29)十三、回文数、因子、质因子、素数 (32)十三、其他算法 (33)第二部份 C程序设计上机操作题一、数列求和1、程序调试题试题一该程序功能:输入x和正数eps,计算多项式1-x+x*x/2!-x*x*x/3!+...的和直到末项的绝对值小于eps为止。

#include <stdio.h>#include <math.h>void main(){ float x,eps,s=1,t=1,i=1;scanf("%f%f",&x,&eps);do {/***** 1 *****/t=-t*x/++i; //++i--→i++s+=t;/***** 2 *****/} while(fabs(t)<eps); // < --→ >=printf("%f\n",s);}试题二该程序功能:运行时若输入a、n分别为3、6,则输出下列表达式的值:3+33+333+3333+33333+333333#include <stdio.h>void main(){ int i,a,n; long t=0;/********* 1 *******/s=0; //s=0--→long s=0scanf("%d%d",&a,&n);for(i=1;i<=n;i++) {/******* 2 ******/t=t*10+i; //i-→1s=s+t;}s=s*a;printf("%ld\n",s);}2、程序填空题试题一程序功能:调用函数f计算代数多项式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x当x=1.7时的值。

2010-2016年浙江省高等学校计算机等级考试(二级c语言)理论考试+上机题库

2010-2016年浙江省高等学校计算机等级考试(二级c语言)理论考试+上机题库

理论部分参考答案2010春答案一、1-6DCCB BBAA AADD ABCD DCCB ABCD二、1#include <stdio.h>main(){ int i,a[100];long s=0;for(i=0;i<100;i++){scanf("%d",&a[i]);if(a[i]%2!=0) s=s+a[i];}printf("数组a中的奇数之和为%ld\n",s);}二、2#include <stdio.h>int total(int n){ int i,s=0;for(i=1;i<=n;i++)s=s+i;return s;}main(){ int i,n;float s=0;printf("请输入正整数n:");scanf("%d",&n);for(i=1;i<=n;i++)s=s+1.0/total(i);printf("表达式的值为%f\n",s);}2010秋答案AABB BBAA CDDC CDDC #include <stdio.h>void main(){ int a[100], x, i, count=0 ;printf("Input 100 integers:n");for ( i=0; i<100; i++)scanf("%d", a+i);printf("Input integer x:n");scanf("%d", &x);for ( i=0; i<100; i++)if ( a[i] == x ) count++;printf( "count=%d\n", count);}二、2double fact (int n){ int i ;double s=1 ;for ( i=1; i<=n; i++)s *= i ;return s;}#include <stdio.h>void main(){ double s=0;int n, i ;do scanf("%d", &n); while (n<=0);for ( i=1; i<=n; i++)s += (n-i+1)/fact(i);printf("s=%f\n", s);}11春答案一、ABCD DCBA AABB CCDD CDCD BBAA 二、1 #include<stdio.h>void main(){ int a[100],x,i,s=0;for(i=0;i<100;i++) scanf("%d",&a[i]);scanf("%d",&x);for(i=0;i<100;i++) if(a[i]>=x) s++;printf("%d\n",s);}2 #include<stdio.h>double f(int n){ int i; double s=1;for(i=n;i<=2*n-1;i++) s=s*i;return s; }void main(){ double s=0;int n,i;do scanf("%d",&n); while(n<=0);for(i=1;i<=n;i++) s+=1/f(i);printf("%f\n",s);}11秋答案:一、AAAB CDDC BABB DDCC DCBA DCBA二、1 #include<stdio.h>void main(){ int i,n=0;float a[100];for(i=0;i<100;i++){ scanf(“%f”,&a[i]);if(a[i]<60) n++; }printf(“不及格人数是:%d。

浙江省高等学校(C语言)试卷及参考答案

浙江省高等学校(C语言)试卷及参考答案
(3)A、item=item*i C、item=item-i
(4)A、+=item C、1.0/item
B、sum=-1 C、sum=n
B、i>n D、i>=n
B、item=item+i D、item=item/i B、item D、sum+item
ቤተ መጻሕፍቲ ባይዱ
2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】先输入一个正整数 n(1≤n≤10),再输入 n 个从小到大有序排列的整数,并
n= (9) ; for(i=0;i<n;i++){ [j]!='\0';j++){
for( (10) ;str
putchar(str[j]);
} for( (11) ;j<i;j++){ pu tchar(str[j]);
C 程序设计试卷第 2 页(共 6 页)
} (12) ;
} }
【供选择的答案】
一、程序阅读与填空(24 小题,每小题 3 分,共 72 分)
1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
输入一个正整数 n,计算并输出 1 + 1/2!+ /3! + … + 1/n! 的值。
【程序】
#include <stdio.h> void main()
else low=mid+1; } if(low<=high) printf("Index is %d \n",mid); else printf("Not Found\n"); }

浙江省二级c语言考试真题及答案

浙江省二级c语言考试真题及答案

浙江省二级c语言考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. intB. floatC. returnD. void答案:D2. 若有定义 int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式的值不为5?A. a[4]B. a[5]C. a[0]D. *(a + 4)答案:B3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. %B. /C. *D. ^答案:C4. 下面哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D5. 在C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A6. 若有定义 int x = 10;,则以下哪个表达式的值不为10?A. x++B. ++xC. x--D. --x答案:D7. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A8. 下面哪个选项不是C语言中的存储类别?A. autoB. staticC. registerD. volatile答案:D9. 在C语言中,以下哪个函数用于打开一个文件?A. fopen()B. fclose()C. fgetc()D. fprintf()答案:A10. 若有定义 int a[3][2] = {{1, 2}, {3, 4}, {5, 6}};,则以下哪个表达式的值不为4?A. a[1][1]B. a[2][0]C. a[0][1]D. a[1][0]答案:B二、填空题(每题2分,共20分)1. 在C语言中,字符'A'的ASCII码值是__65__。

2. 若有定义 int a = 10;,则表达式 a % 3 的值是__1__。

浙江省计算机二级c语言上机考试真题

浙江省计算机二级c语言上机考试真题

浙江省二级c语言上机考试真题介绍:浙江省二级c语言考试分为笔试和上机考试两块.取笔试和上机中分数较低的那个作为计算机二级的最终成绩,最后证书上按档次划分等级,其中60-79及格,80-89良好,90-100优秀。

笔试部分分两块,一块是24道选择题(六道程序题,每题中间有四个空,每空有四个选项供选择),浙江省的计算机笔试选择题不考概念性内容,所以大家不用费心,另一块是程序编写,手写两个完整程序,一道循环数组(结合),一道是函数或指针。

上机部分分两块,一块是计算机基本操作,即从access,ppt,excel,outlook,word,网页制作,文件夹操作中随机选择四道,另一块是编程,编程题可以打开编程软件c-free来做,编程中共五道题,一道改错,两道填空,最后两道是编写程序。

(一)程序改错:1,10个数求最大最小值该程序中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:运行时输入10个数,然后分别输出其中的最大值、最小值。

#includevoid main(){ float x,max,min; int i;/******** 1 *******/for(i=0;i<=10;i++) {scanf("%f",&x);/******* 2 ********/if(i=1) { max=x;min=x;}if(x>max) max=x;if(x}printf("%f,%f\n",max,min);}∙#include <stdio.h>∙int main()∙{ float x,max,min; int i;∙/******** 1 *******/∙for(i=1;i<=10;i++) {∙scanf("%f",&x);∙/******* 2 ********/∙if(i==1) { max=x;min=x;}∙if(x>max) max=x;∙if(x<min) min=x;∙ }∙printf("%f,%f\n",max,min);∙}2,字符串反序连接下面程序中“***** N *****”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。

浙江省计算机二级C语言上机题库

浙江省计算机二级C语言上机题库

第二部份C程序设计上机操作题 (2)一、数列求和 (2)二、最大公约数、最小公倍数 (6)三、排序算法 (7)四、数组 (8)五、求整数n的各位数字及各数字之和 (11)六、平面上各点之间的距离 (13)七、数制转换 (16)八、字符串处理 (17)九、最大值与最小值 (23)十、斐波那契(Fibonacci)数列 (26)十一、水仙花、完数、回文数与亲密数 (27)十二、方程求根 (29)十三、回文数、因子、质因子、素数 (32)十三、其他算法 (33)第二部份 C程序设计上机操作题一、数列求和1、程序调试题试题一该程序功能:输入x和正数eps,计算多项式1-x+x*x/2!-x*x*x/3!+...的和直到末项的绝对值小于eps为止。

#include <stdio.h>#include <math.h>void main(){ float x,eps,s=1,t=1,i=1;scanf("%f%f",&x,&eps);do {/***** 1 *****/t=-t*x/++i; //++i--i++s+=t;/***** 2 *****/} while(fabs(t)<eps); // < -- >=printf("%f\n",s);}试题二该程序功能:运行时若输入a、n分别为3、6,则输出下列表达式的值:3+33+333+3333+33333+333333#include <stdio.h>void main(){ int i,a,n; long t=0;/********* 1 *******/s=0; //s=0--long s=0scanf("%d%d",&a,&n);for(i=1;i<=n;i++) {/******* 2 ******/t=t*10+i; //i-1s=s+t;}s=s*a;printf("%ld\n",s);}2、程序填空题试题一程序功能:调用函数f计算代数多项式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x当x=1.7时的值。

浙江省大学计算机二级c试题及答案

浙江省大学计算机二级c试题及答案

浙江省大学计算机二级c试题及答案一、选择题1. 下面哪个不是C语言的保留字?A. ifB. whileC. forD. main答案:D2. 在C语言中,以下哪个字符常量表示换行符?A. \nB. \rC. \tD. \b答案:A3. 下面哪个选项中的变量会在程序执行期间保持固定不变的值?A. constB. staticC. externD. volatile答案:A4. 在C语言中,以下哪个关键字不属于循环结构的控制语句?A. breakB. continueC. gotoD. return答案:D5. 在C语言中,以下哪种数据类型存储大小最大?A. shortB. intC. longD. long long答案:D二、编程题1. 编写一个C程序,实现计算从1到100的所有整数的和,并输出结果。

答案:```c#include<stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("从1到100的和为:%d\n", sum);return 0;}```2. 编写一个C程序,判断一个输入的整数是否为素数,并输出判断结果。

答案:```c#include<stdio.h>int isPrime(int num) {if (num <= 1) {return 0; // 不是素数}for (int i = 2; i*i <= num; i++) { if (num % i == 0) {return 0; // 不是素数}}return 1; // 是素数}int main() {int num;printf("请输入一个整数:"); scanf("%d", &num);if (isPrime(num)) {printf("%d是素数\n", num); } else {printf("%d不是素数\n", num);}return 0;}```三、填空题1. C语言中,sizeof运算符返回的结果是________。

浙江省计算机二级c语言上机考试真题

浙江省计算机二级c语言上机考试真题

浙江省计算机二级c语言上机考试真题一、题目描述下面是浙江省计算机二级C语言上机考试的真题,请根据题目要求完成对应的代码。

1. 题目一编写程序,实现求100以内所有素数的功能。

2. 题目二编写程序,实现字符串逆序输出的功能。

3. 题目三编写程序,实现判断一个整数是否是回文数的功能。

二、题目一解析及代码题目描述:编写程序,实现求100以内所有素数的功能。

解析:素数是只能被1和自身整除的数,大于1的正整数。

通过循环检测每个数是否能被2到该数的平方根之间的数整除,来确定是否为素数。

代码:```c#include <stdio.h>int isPrime(int num) {if(num < 2)return 0;for(int i = 2; i <= sqrt(num); i++) { if(num % i == 0)return 0;}return 1;}int main() {printf("100以内的素数有:\n"); for(int i = 2; i < 100; i++) {if(isPrime(i))printf("%d ", i);}printf("\n");return 0;}```三、题目二解析及代码题目描述:编写程序,实现字符串逆序输出的功能。

解析:可以使用一个循环,从字符串的最后一个字符开始逐个输出,实现字符串逆序输出的效果。

代码:```c#include <stdio.h>#include <string.h>void reverseString(char* str) {int length = strlen(str);for(int i = length - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");}int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin);printf("逆序输出的字符串为:");reverseString(str);return 0;}```四、题目三解析及代码题目描述:编写程序,实现判断一个整数是否是回文数的功能。

计算机等级考试二级C语言上机题库(含答案)(精品)

计算机等级考试二级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的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

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

二级考试(C语言)上机试题1.三个数比较大小。

#include <stdio.h>void swap(______1______) //int *pa,int *pb{ /*交换两个数的位置*/int temp; temp = *pa; *pa = *pb; *pb = temp; } void main(){ int a,b,c,temp;scanf("%d%d%d",&a,&b,&c);if(a>b) swap(&a,&b);if(b>c) swap(&b,&c);if(______2______) //a>bswap(&a,&b);printf("%d,%d,%d",a,b,c); }2.表达式求和。

#include <stdio.h> #include <math.h>void main(){ FILE *fp;float n=1,t=1,pi=0;int i;// 从以下开始答题i=1;while(fabs(t)>=1e-6){ pi=pi+t; i=-i; n=n+2; t=i/n; }fp=fopen("Design1.dat","w");fprintf(fp,"%.6f",4*pi);fclose(fp); }运行结果:3.1415943.字母后移循环输出。

#include <stdio.h>void main(){ char c; c=getchar();if(______1______) // c>='a' && c<'v'c=c+5;elseif (c>='v' && c<='z')______2______ // c=c-21;putchar(c); }4.求满足条件的数。

#include <stdio.h>#include <math.h>void main(){ float y=1.05; int n=1; FILE *p;// 以下开始做答while(!(pow(y,n)<1e6 && pow(y,n+1)>1e6))n++;p=fopen("Design2.dat","w");fprintf(p,"%d,%.0f",n,pow(1.05,n));fclose(p); }运行结果:283,9921375.求满足条件的数。

#include <stdio.h>void main(){ int m=0,t=1,n;while( _____ 1 ________); // (scanf("%d",&n),n<=0) while(!(t<=n&&t*2>=n)){_____ 2 _____ // t=t*2;m++; }printf("%d\n",m); }6.求平面点间的最短距离。

#include <stdio.h> #include <math.h>#define len(x1,y1,x2,y2) sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)) void main(){ FILE *p; int i,j; float c,minc;float x[]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65}; float y[]={-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33}; minc=len(x[0],y[0],x[1],y[1]);p=fopen("Design1.dat","w");for(i=0;i<9;i++)for(j=i+1;j<10;j++)if((c=len(x[i],y[i],x[j],y[j]))<minc)minc=c;fprintf(p,"%f",minc);fclose(p); }运行结果:1.4579447.Fibonacci数列求值问题。

#include <stdio.h>_______1______ // long f(int n);void main(){ printf("%ld\n",f(30)); }long f(int n){ if( ______2______ ) // n==1 || n==2return 1;elsereturn f(n-1)+f(n-2); }运行结果:8320408.多项式求和问题。

#include <stdio.h> #include <math.h>void main(){ FILE *p; int i; float x=1.279,t=1,y=0;float a[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65}; p=fopen("Design2.dat","w");y=a[0] ;for(i=1;i<10;i++){ t=t*x; y=y+t*a[i]; }fprintf(p,"%f",y);fclose(p); }运行结果:98.7225429.整数转换为字符串。

#include<stdio.h>void itoa(long i,char *s){ if(i==0) return;/****** 1 ******/*s = '1'+i%10; //*s='0'+i%10itoa(i/10,s-1); }void main(){ long n; char str[7]=""; scanf("%ld",&n);/****** 2 ******/itoa(n,str+6); // itoa(n,str+5);printf("%s",str); }10.Fibonacci数列求值问题。

#include<stdio.h>void main(){ FILE *p; int i; float f1=1.0,f2=2.0,t1=2.0,t2=3.0,s; float f,t;s=t1/f1+t2/f2;p=fopen("Design1.dat","w");for(i=3;i<40;i=i+2){ t1=t1+t2; t2=t1+t2; f1=f1+f2; f2=f1+f2; s=s+t1/f1+t2/f2; }fprintf(p,"%.6f",s); fclose(p); }运行结果:65.02095011.数组赋值。

#include <stdio.h>void main(){ int a[10],b[10],i;printf("\ninput 10 numbers: ");for (i=0; i<10;i++) /* 数组输入*/scanf("%d", &a[i]);for (i=1; i<10; i++)b[i]=______1______; // b[i]=a[i]+a[i-1];for (i=1; i<10; i++){ printf("%3d",b[i]);if (______2______) printf("\n"); // i%3==0} } 12.求各点距离和。

#include<stdio.h> #include<math.h>void main(){ FILE *p; int i;float x[10]={-1.5,2.1,6.3,3.2,-0.7,7.0,5.1,3.2,4.5,7.6};float y[10]={3.5,7.6,8.1,4.5,6.0,1.1,1.2,2.1,3.3,4.4}; float s=0.0;p=fopen("Design2.dat","w");for(i=0;i<10;i++)s=s+sqrt(pow(x[i]-1, 2)+pow(y[i]-1, 2));fprintf(p,"%.6f",s); fclose(p); }运行结果:52.67944713.十进制数转换为二进制数。

#include <stdio.h>void dec2bin(int m){ int bin[32],j;for(j=0;m!=0;j++){ bin[j]= ______1______; //m%2m=m/2; }for(;j!=0;j--)printf("%d", ______2______ ); //bin[j-1] }void main(){ int n;scanf("%d",&n);dec2bin(n); }14.求符合条件的数列之和。

#include <stdio.h>#include <math.h>void main(){ FILE *p; float s=0,a=81;int i;p=fopen("Design2.dat","w");for(i=1;i<=30;i++){ s=s+a;a=sqrt(a); }fprintf(p,"%.3f",s);fclose(p); }运行结果:121.33615.在字符串中删除数字字符。

#include <stdio.h> #include <string.h> #include <ctype.h> void f(char *s){ int i=0;while(s[i]!='\0'){if(isdigit(s[i])) ____1____(s+i,s+i+1); // strcpy___2___ i++;} // else } void main(){ char str[80];gets(str); f(str); puts(str); }16.求满足条件的数。

相关文档
最新文档