浙江省计算机二级c语言上机考试真题(三)程序编写

合集下载

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

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

第二部份C程序设计上机操作题 (2)一、数列求和 (2)二、最大公约数、最小公倍数 (7)三、排序算法 (7)四、数组 (9)五、求整数n的各位数字及各数字之和 (12)六、平面上各点之间的距离 (14)七、数制转换 (17)八、字符串处理 (19)九、最大值与最小值 (25)十、斐波那契(Fibonacci)数列 (28)十一、水仙花、完数、回文数与亲密数 (29)十二、方程求根 (31)十三、回文数、因子、质因子、素数 (34)十三、其他算法 (35)第二部份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语言程序设计真题精选3(含答案)

全国计算机等级考试二级C语言程序设计真题精选3(含答案)

全国计算机等级考试二级C语言程序设计真题精选3一、单项选择题1.下列关于C语言文件的叙述中正确的是()。

A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件√D.文件由字符序列组成,其类型只能是文本文件解析:C语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。

根据数据的组成形式,可将文件分为两种:①ASCII文件,又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。

所以C文件就是一个字节流或一个二进制流。

2.有以下程序:#includ<stdio.h>main()inm=1,n=2,*p=&m,*q=&n,*r; r=p,p=q;q=r; printf("%d,%d,%d,%",m,n,*p,*q);}程序运行后的输出结果是()。

A.1,2,1,2B.1,2.2,1 √C.2,1,2,1D.2,1.1,2解析:本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。

3.有以下程序:#includ<stdio.h>#include<string.h>strucAina;chab[10];doublc;};strucf (struct);main()struca={1001,"ZhangDa",1098.0}; a=f(a);printf ("%d,%s,%6.1",a.a,a.b,a.c);}strucf(struct)t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returt;}程序运行后的输出结果是()。

浙江省二级C语言上机考试题库

浙江省二级C语言上机考试题库

程序调试题+ 程序设计题(浙江省二级C语言上机考试题库)1.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:运行时输入n,输出n的所有质数因子(如n=13860,则输出2、2、3、3、5、7、11)。

#include <stdio.h>void main(){int n,i;scanf("%d",&n);/****** 1 ******/i=1; i=2while(n>1);if(n%i==0){ printf("%d\t",i); n/=i; }else/******** 2 *******/n--; i++}1.i=2;i++;2.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:输入的一个小写字母,将字母循环后移5个位置后输出,如‘a’变成‘f’,‘w’变成‘b’。

#include <stdio.h>void main(){char c;c=getchar();if(______N_____)c=c+5;else if (c>='v' && c<='z')_____N____putchar(c);}2.c<'v'c=c-'v'+'a'3.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

浙江省计算机二级C程序设计上机模拟题

浙江省计算机二级C程序设计上机模拟题
#include <stdio.h>
#include <ctype.h>
void main()
{ char a[80]; int n[5]={0},i;
gets(a);
for(i=0; a!=’\0’; i++)
/***** 1 *****/
switch(tolower(a+i)) { //switch(tolower(a))
}
/***** 2 *****/
for(i=0;i<26;i++) //i<ny
printf("%c ",y);
printf("\n");
}
5.在考生目录下,有Modify.c程序,该程序中"/***** N ****/"的下一行
中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:输入x、.的和直到末项的
gets(x);
for(i=0;x!='\0';i++)
if(x>='A'&&x<='Z') {
for(j=0;j<ny;j++)
/***** 1 *****/
if(y==x[j])continue; // if(y[j]==x) break;
if(j==ny) { y[ny]=x; ny++; }
}
3.在考生目录下,有Modify.c程序,该程序中"/***** N *****/"的下一行中有错误,
请改正(注意:不得加行、减行、加句、减句,否则后果自负)。

浙江省二级C语言笔试真题(2007-2010年)

浙江省二级C语言笔试真题(2007-2010年)

浙江省高等学校计算机等级考试试卷(二级C)2010-2007笔试部分真题2010年春浙江省高等学校计算机等级考试试卷(二级C)一、程序阅读与填空(24小题,每小题3分,共72分)1. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输入一个整数,求它的各位数字之和及位数。

例如,17的各位数字之和是8,位数是2。

运行示例:Enter an integer:-153sum = 8, count = 3【程序】#include <stdio.h>main(){int count = 0, in, sum = 0;printf("Enter an integer:");scanf("%d", &in);if( D ) in = -in;sum = sum + (2) C ;(3)C ;count++;}while( (4)B );}【供选择的答案】(1) A、in == 0 B、in > 0C、in != 0D、in < 0(2) A、in /10 B、in mod 10C、in % 10D、in(3) A、in = in % 10 B、in /10C、in = in /10D、in % 10(4) A、in % 10 != 0 B、in != 0C、!inD、in / 10 != 02.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输出50到70之间的所有素数。

要求定义和调用函数isprime(m)判断m是否为素数,若m为素数则返回1,否则返回0。

素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

运行示例:53 59 61 67【程序】#include <stdio.h>#include <math.h>main(){ int i; int isprime(int m);for(i = 50; i <= 70; i++)if( (5) B )}int isprime(int m){int i, k;(6)Bk = (int)sqrt((double)m);for(i = 2; i <= k; i++)if(m % i == 0) (7) A ;(8)A ;}【供选择的答案】(5) A、isprime (m) != 0 B、isprime (i) != 0C、isprime (m) == 0D、isprime (i) == 0(6) A、if(m != 1) return 1; B、if(m == 1) return 0;C、;D、if(m == 1) return 1;(7) A、return 0 B、return 1C、return i <= kD、return(8) A、return 1 B、return 0C、returnD、return i <= k3. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

浙江省高等学校(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试题及答案一、选择题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运算符返回的结果是________。

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

(三)程序编写1,求3元方程解设计程序:统计满足条件x*x+y*y+z*z==2000的所有解的个数,并将统计结果以格式"%d"输出。

说明:若a、b、c是1个解,则a、c、b也是1个解,等等。

*/#include "stdio.h"int main(){int x,y,z,k=0;/** 考生在这里添加代码*/return 0;}∙#include <stdio.h>∙int main()∙{∙int x,y,z,k=0;∙for(x=0;x<=50;x++)∙ {∙ for(y=0;y<=50;y++)∙ {∙ for(z=0;z<=50;z++)∙ {∙ if(x*x+y*y+z*z==2000)∙ {k++;}∙ }∙ }∙ }∙printf("%d",k);∙}2,求距离和设计程序:x[i],y[i]分别表示平面上一个点的坐标,求下列10个点与点(1.0,1.0)的距离的总和,并将结果以格式"%.6f"输出。

#include#include "math.h"int main(){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;/** 考生在这里添加代码*/return 0;}∙#include<stdio.h>∙#include<math.h>∙int main()∙{ 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.000004;∙ float sx,sy;∙ for(i=0;i<10;i++)∙ {∙ sx=(x[i]-1.0)*(x[i]-1.0);∙ sy=(y[i]-1.0)*(y[i]-1.0);∙ s+=sqrt(sx+sy);∙ }∙ printf("%.6f",s);∙ return 0;∙}3,字符权重设计程序:在正整数中找出1个最小的、被3、5、7、9除余数分别为1、3、5、7的数,将该数以格式"%d"输出。

#include "stdio.h"#include "math.h"int main()int n=1,k=1;/*考生在这里添加代码*/printf("%d\n",n);return 0;}∙#include <stdio.h>∙#include <math.h>∙int main()∙{int j=1;∙ while(1)∙ if(j%3==1&&j%5==3&&j%7==5&&j%9==7) ∙ {∙ printf("%d\n",j+1);break;∙ }∙ else j++;∙}4,pow设计程序:将满足条件pow(1.05,n)<1e6值以格式"%d,%.0f"输出#include "stdio.h"#include "math.h"int main(){ float y=1.05; int n=1; FILE *p;/** 考生在这里添加代码*/printf("%d,%.0f",n,pow(1.05,n));return 0;}∙#include <stdio.h>∙#include <math.h>∙int main()∙{ float y=1.05; int n=1,p;∙ while((pow(y,n)<1e6))∙ {∙ n++;∙ }∙ n--;∙ printf("%d,%.0f",n,pow(1.05,n));∙ return 0;∙}5,sin多项式设计程序:计算多项式a0+a1*sin(x)+a2*sin(x*x)+a3*sin(x*x*x)+……+a9*sin(x*x*x*x*x*x*x*x*x)的值,并将其值格式"%.6f"输出*/#include "stdio.h"#include "math.h"void main(){int i; float x=2.345,t=1.0,y=0.0;float a[10]={1.2,-1.4,-4.0,1.1,2.1,-1.1,3.0,-5.3,6.5,-0.9};/** 考生在这里添加代码*/}∙#include<stdio.h>∙#include<math.h>∙int main()∙{ int i; float x=2.345,t=1.0,y=0.0;∙ float a[10]={1.2,-1.4,-4.0,1.1,2.1,-1.1,3.0,-5.3,6.5,-0.9};∙ y=y+a[0];∙p=fopen("design.dat","w");∙for(i=1;i<10;i++)∙{ t=t*x;∙y+=a[i]*sin(t);}∙fprintf(p,"%.6f",y);∙fclose(p);∙}6,x多项式设计程序:计算多项式a0+a1*x+a2*x*x+a3*x*x*x+...+a9*x*x*x*x*x*x*x*x*x的值,并将其值以格式"%f"输出n.dat中。

*/#include "stdio.h"#include "math.h"void main(){ 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};/***考生这里添加代码*****/printf("%f",y);}∙include<stdio.h>∙#include<math.h>∙int main()∙{ int i; float x=1.279,t=1.0,y=0.0;∙ floata[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};∙ y=a[0];∙ for(i=1;i<=9;i++)∙ {t=t*x; y=y+a[i]*t; }∙ printf("%f",y);∙}7,最小的x1y1设计程序:z=f(x,y)=10*cos(x-4)+5*sin(y-2),若x,y取值为区间[0,10]的整数,找出使z取最小值的x1,y1,并将x1、y1以格式"%d,%d"输出#include "stdio.h"#include "math.h"int main(){int x,y,x1,y1;float z,z1;/** 考生在这里添加代码*/return 0;}#include<stdio.h>#include<math.h>void main(){FILE *p;int x,y,x1,y1; float z,z1;/*考生在这里添加程序*/p=fopen("design.dat","w");z1=0;for(x=0;x<=10;x++)for(y=0;y<=10;y++){ z=10*cos(x-4)+5*sin(y-2);if(z<z1){z1=z;x1=x;y1=y;}}fprintf(p,"%d,%d",x1,y1);fclose(p);}8,大于数组平均和设计程序:在数组a的10个数中求平均值v,将大于等于v的数组元素进行求和,并将结果以格式"%.5f"输出#include "stdio.h"int main(){int i;float a[10]={7.23,1.5,5.24,2.1,2.45,6.3,5,3.2,0.7,9.81},sum,v=0;/**** 在这里添加代码***/printf("%.5f,%.5f",v,sum);}∙#include <stdio.h>∙ #include <math.h>∙int main()∙{∙ int i,k=0;∙ floatx[10]={7.23,1.5,5.24,2.1,2.45,6.3,5,3.2,0.7,9.81},sum=0,v=0;∙ for(i=0;i<10;i++)∙ {v+=x[i];}∙ v=v/10;∙ for(i=0;i<10;i++)∙ {∙ if(x[i]>=v)∙ {sum+=x[i];}∙ }∙ printf("%.5f",sum);∙}9,百鸡问题设计程序:求解百鸡问题。

已知公鸡每只5元、母鸡每只3元、小鸡1元3只。

求出用100元买100只鸡的解。

将得到的解按公鸡、母鸡和小鸡的只数以"%d,%d,%d\n"的格式输出。

#include "stdio.h"void main(){int cock,hen,chick;/***考生在这里添加代码**/printf("%d,%d,%d",cock,hen,chick);}∙#include <stdio.h>∙int main()∙{ int cock,hen,chick; FILE *p;∙ for(cock=20;cock>=0;cock--)∙ for(hen=0;hen<33;hen++)∙ {chick=100-cock-hen;∙ if(cock*5+hen*3+chick/3.0==100)∙ printf("%d,%d,%d\n",cock,hen,chick);∙ }∙}10,函数区间最大值设计程序:z=f(x,y)=(3.14*x-y)/(x+y),若x、y取值为区间[1,6]的整数,找出使z 取最小值的x1、y1,并将x1、y1以格式"%d,%d"输出。

相关文档
最新文档