浙江省计算机等级二级考试 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程序设计上机操作题 (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语言考试真题及答案
计算机二级考试c语言考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A2. 若有定义:int a=5, b=10; 则以下哪个表达式的值不为5?A. a+bB. a-bC. a*bD. a/b答案:C3. 在C语言中,以下哪个选项不是标准输入输出库函数?A. printf()B. scanf()C. puts()D. strcat()答案:D4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. variable-2答案:B5. 若有定义:char c='A'; 则以下哪个表达式的值不为65?A. cB. 'A'C. "A"D. '\101'答案:C6. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. =答案:A7. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[5] = "ABCDE";B. char str[5] = {'A', 'B', 'C', 'D', 'E'};C. char str[5] = {'A', 'B', 'C', 'D'};D. char str[5] = "ABC" "DE";答案:D8. 若有定义:int x=10; 则以下哪个表达式的值不为10?A. x++B. x--C. ++xD. --x答案:D9. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][] = {1, 2, 3};C. int array[3][];D. int array[2, 3];答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D二、程序填空题(每空2分,共20分)给定以下程序片段,请在空白处填入正确的代码。
计算机二级考试真题及答案c语言
计算机二级考试真题及答案c语言一、单项选择题(每题1分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. structB. unionC. intD. void答案:D2. 若有定义int a=5; 则执行以下语句后,变量a的值是多少?A. a=(a++)+(++a)+a;B. a=a--+(++a)+a;C. a=(a++)+(++a)+a--;D. a=(a++)+(++a)+a--;答案:A3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. /B. %C. *D. ^答案:C4. 下列哪个选项是C语言中合法的字符常量?A. 'a'B. "a"C. 'ab'D. '\t'答案:D5. 在C语言中,以下哪个选项是合法的数组声明?A. int a[5];B. int a[];C. int a[5][5];D. int a[5,5];答案:A6. 若有定义int x=10; 则执行以下语句后,变量x的值是多少?A. x=x+++x;B. x=++x+x--;C. x=x--+x++;D. x=x+++x--;答案:B7. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A8. 在C语言中,以下哪个选项是合法的指针声明?A. int *p;B. int *p[];C. int (*p)();D. int (*p)[5];答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do{}while(0)D. all of the above答案:D10. 在C语言中,以下哪个选项是合法的函数声明?A. int func();B. void func(int a);C. int func(int a, int b);D. all of the above答案:D11. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. all of the above答案:A12. 在C语言中,以下哪个选项是合法的文件操作函数?A. fopenB. fcloseC. freadD. all of the above答案:D13. 在C语言中,以下哪个选项是合法的字符串操作函数?A. strcpyB. strncpyC. strcatD. all of the above答案:D14. 在C语言中,以下哪个选项是合法的动态内存分配函数?A. mallocB. callocC. reallocD. all of the above答案:D15. 在C语言中,以下哪个选项是合法的位操作运算符?A. &B. |C. ^D. all of the above答案:D16. 在C语言中,以下哪个选项是合法的预处理指令?A. #includeB. #defineC. #ifdefD. all of the above答案:D17. 在C语言中,以下哪个选项是合法的类型转换运算符?A. (int)xB. (float)xC. (char)xD. all of the above答案:D18. 在C语言中,以下哪个选项是合法的条件运算符?A. ?B. :C. ||D. &&答案:A19. 在C语言中,以下哪个选项是合法的多维数组声明?A. int a[5][5];B. int a[][5];C. int a[5][];D. int a[][];答案:A20. 在C语言中,以下哪个选项是合法的枚举类型声明?A. enum color {red, green, blue};B. enum {red, green, blue};C. enum color {0, 1, 2};D. all of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用关键字________声明一个函数。
计算机二级c语言试题题库及答案
计算机二级c语言试题题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义变量的关键字是()。
A. defineB. varC. intD. let答案:C2. 下列关于C语言函数的描述,不正确的是()。
A. 函数可以没有参数B. 函数可以返回值C. 函数必须有返回值D. 函数可以嵌套定义答案:C3. 以下哪个选项不是C语言中的运算符()。
A. %B. &&C. ++D. :答案:D4. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A5. C语言中,用于表示逻辑与的运算符是()。
A. &&B. ||C. !D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语句是:int array[10]; 其中array[0]的值默认为____。
答案:02. 如果一个函数的返回类型是int,那么在函数体中必须包含一条____语句。
答案:return3. 在C语言中,用于计算字符串长度的函数是____。
答案:strlen4. C语言中,用于将字符数组转换为字符串的字符是____。
答案:'\0'5. 当使用指针变量时,必须先对其进行____。
答案:初始化三、编程题(每题10分,共20分)1. 编写一个C语言函数,实现两个整数的交换。
```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```2. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```四、简答题(每题10分,共40分)1. 简述C语言中指针和数组的关系。
浙江省计算机二级c考试真题及答案
浙江省计算机二级c考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义 int a[5] = {1, 2, 3, 4, 5}; 则数组元素a[2]的值是多少?A. 1B. 2C. 3D. 4答案:C3. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 下面哪个选项不是C语言中的基本数据类型?A. intB. floatC. doubleD. string答案:D5. 在C语言中,以下哪个运算符用于逻辑与操作?A. &&B. ||C. !D. ~答案:A6. 若有定义 int x = 10; 则表达式 x % 3 的值是多少?A. 1B. 2C. 3D. 4答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D8. 下面哪个选项是正确的C语言变量声明?A. int 5x;B. int x = 5C. int x = 5;D. int x = 5, y;答案:C9. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A10. 若有定义 int a = 5, b = 10; 则表达式 a + b 的值是多少?A. 15B. 5C. 10D. 0答案:A二、程序填空题(每空2分,共20分)请根据题目要求,填写空白处的代码。
11. 给定以下代码片段,完成计算两个数之和的函数:```cint sum(int a, int b) {return _____;}```答案:a + b12. 给定以下代码片段,完成计算两个数之差的函数:```cint difference(int a, int b) {return _____;}```答案:a - b三、程序改错题(每题10分,共20分)13. 阅读以下代码,找出并修正其中的错误。
浙江省计算机等级二级考试 C语言 机考题库
二级考试(C语言)上机部分试题1.三个数比较大小。
输入三个整数,按由大到小的顺序输出这三个数。
#include <>void swap(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(a>b)swap(&a,&b);printf("%d,%d,%d",a,b,c); }2.表达式求和。
将计算结果以格式“%。
6f”写入到考生文件夹中#include <> #include <>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("","w");fprintf(fp,"%.6f",4*pi);fclose(fp); }运行结果:3.字母后移循环输出。
输入的一个小写字母,将字母循环后移5个位置后输出。
#include <>void main(){ char c; c=getchar();If(c>='a' && c<'v')c=c+5;elseif (c>='v' && c<='z')c=c-21;putchar(c); }4.求满足条件的数。
浙江省二级c理论考试试题及答案
浙江省二级c理论考试试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ->D. ::答案:D3. 在C语言中,用于定义数组的关键字是()。
A. arrayB. listC. vectorD. int答案:D4. 下列哪个选项不是C语言中的循环控制语句?()A. forB. whileC. do-whileD. switch5. 在C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. voidD. int答案:C6. C语言中,用于声明一个指针变量的关键字是()。
A. ptrB. pointerC. *D. &答案:C7. 在C语言中,用于定义一个枚举类型的关键字是()。
A. enumB. typeC. typedefD. struct答案:A8. 下列哪个选项是C语言中的文件操作函数?()A. printfB. scanfC. fopenD. fclose答案:C9. 在C语言中,用于定义一个联合体的关键字是()。
B. structC. enumD. typedef答案:A10. C语言中,用于定义一个宏的预处理指令是()。
A. #defineB. #includeC. #importD. #pragma答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个变量的关键字是________。
答案:int2. 在C语言中,用于声明一个函数的关键字是________。
答案:void3. C语言中,用于定义一个枚举类型的关键字是________。
答案:enum4. 在C语言中,用于定义一个联合体的关键字是________。
答案:union5. 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 <>#include <>void main(){ float x,eps,s=1,t=1,i=1;scanf("%f%f",&x,&eps);do {/***** 1 *****/t=-t*x/++i; 6f写入到考生目录中Paper子目录下的新建文件中。
#include<>#include<>void main(){FILE *p;int i; float x=,t=,y=;float a[10]={,,,,,,,,,};.6f.的值,并将其以格式"%f"写到考生目录中Paper子目录下的新建文件中。
#include <>#include <>void main(){ FILE *p; int i; float x=,t,y;float a[10]={,,,,,,,,,};.+12!的值,并将计算结果以格式"%ld" 写入到考生目录中Paper子目录下的新建文件中#include <>void main(){ FILE *p; long s=1,k=1; int i;.的值,并将其值以格式"%f"写到考生目录中Paper子目录下的新建文件中。
二级计算机技能考试c语言试题及答案
二级计算机技能考试c语言试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义 `int a[3][4], *p[4];`,则以下哪个表达式是合法的?A. p[0] = a[0]B. p[0] = &a[0]C. p = aD. *p[0] = a[0]答案:A3. 在C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 以下哪个选项是正确的C语言变量声明?A. int 5;B. int $a;C. int _5a;D. int a-5;答案:C5. 在C语言中,以下哪个运算符用于计算两个整数的差?A. %B. /C. -D. ^答案:C6. 若有定义 `int a = 10;`,则执行 `a += 5;` 后,变量a的值是多少?A. 5B. 10C. 15D. 20答案:C7. 在C语言中,以下哪个关键字用于声明一个无限循环?A. whileB. doC. forD. goto答案:C8. 在C语言中,以下哪个函数用于打开一个文件?A. fopen()B. fclose()C. fgetc()D. fputs()答案:A9. 若有定义 `char str[] = "Hello";`,则执行 `str[0] = 'J';` 后,字符串str的内容是什么?A. "Hello"B. "Jello"C. "Jello"D. "Jello"答案:B10. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以实现逻辑与操作。
浙江省计算机二级c语言笔试题库及答案
浙江省计算机二级c语言笔试题库及答案一、选择题1. 下面哪个选项声明一个整型变量a?A. int a;B. int a = 10;C. a = 10;D. a;2. C语言中,以下哪个不是关键字?A. intB. floatC. ifD. then3. 下面哪个选项表示“不相等”?A. ==B. !=C. <=D. >4. 在C语言中,以下哪个选项是正确的注释格式?A. /*B. //C. #D. ∗−5. 下面哪个选项表示“与”?A. &&B. ||C. !D. ==二、填空题1. 声明一个字符型变量ch并赋值为字母A的ASCII码。
ch = 'A';2. 表示“输出变量a的值”的语句是________。
printf("%d", a);3. 下划线(_)开头的标识符属于______。
合法的变量名4. C语言的主函数是______。
int main()5. 表示“执行一次循环体”的语句是______。
do {...} while (条件);三、编程题题目1:编写一个程序,求出1到100之间所有能被3整除的正整数的和。
```c#include <stdio.h>int main() {int sum = 0;int i;for (i = 1; i <= 100; i++) {if (i % 3 == 0) {sum += i;}}printf("1到100之间所有能被3整除的正整数的和为:%d\n", sum);return 0;}```题目2:编写一个程序,计算并输出斐波那契数列的前20个数。
```c#include <stdio.h>int main() {int num1 = 1, num2 = 1, temp;int i;printf("斐波那契数列的前20个数为:\n");printf("%d %d ", num1, num2); // 输出前两个数for (i = 3; i <= 20; i++) {temp = num1 + num2;printf("%d ", temp);num1 = num2;num2 = temp;}return 0;}```题目3:编写一个程序,读入一个整数n,计算并输出1到n之间所有整数的和。
浙江省计算机二级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语言试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. stringC. booleanD. array答案:A2. 下列哪个关键字用于定义一个函数?A. ifB. whileC. functionD. void答案:D3. 在C语言中,哪个运算符用于比较两个值是否相等?A. ==B. !=C. =D. <=答案:A4. 以下哪个选项是C语言中的逻辑运算符?A. &&C. %D. *答案:A5. 在C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. pow()C. log()D. sin()答案:A6. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. break答案:C7. 在C语言中,哪个关键字用于声明一个变量?A. varB. defineC. letD. int答案:D8. 下列哪个选项是C语言中的正确注释方式?B. /* ... */C. #D. --答案:B9. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A10. 下列哪个选项是C语言中的文件操作函数?A. fopen()B. fclose()C. printf()D. scanf()答案:A二、填空题(每题2分,共20分)1. 在C语言中,声明一个整型变量并初始化为10,应使用语句:________。
答案:int a = 10;2. 若要比较两个整数变量x和y的大小,可以使用________运算符。
答案:>3. C语言中,用于定义一个无返回值的函数,应使用关键字________。
答案:void4. 在C语言中,若要实现条件分支,可以使用________语句。
答案:if5. 当需要在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 {t=t*10+i; s=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 时的值。
#in elude <stdio.h> float f(float, float*,int); void mai n(){ float b[5]={1.1,2.2,3.3,4.4,5.5};printf( %f\n ” ,f(1.7,b,5));}t=-t*x/++i; s+=t; //++i-- i++/***** 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;scanf("%d%d",&a,&n);//s=0-- long s=0for(i=1;i<=n;i++) { ***** 2 **** //i- 1float f( 1 ) // float f( float x, float a[ ], int n){ float y=a[0],t=1; int i;for(i=1;i<n;i++) {t=t*x; y=y+a[i]*t; }2 ; // return y}3、程序设计题试题一设计程序:计算多项式a0+a1*sin(x)+a2*sin(x*x)+a3*sin(x*x*x)+ ,,的值,并将其值以格式"%.6f"写入到考生目录中Pap er子目录下的新建文件desig n.dat中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级考试(C语言)上机部分试题1.三个数比较大小。
输入三个整数,按由大到小的顺序输出这三个数。
#include <stdio.h>void swap(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(a>b)swap(&a,&b);printf("%d,%d,%d",a,b,c); }2.表达式求和。
将计算结果以格式“%。
6f”写入到考生文件夹中#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.字母后移循环输出。
输入的一个小写字母,将字母循环后移5个位置后输出。
#include <stdio.h>void main(){ char c; c=getchar();If(c>='a' && c<'v')c=c+5;elseif (c>='v' && c<='z')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.求满足条件的数。
输入整数n(n>0),求m使得2的m次方小于或等于n,#include <stdio.h>void main(){ int m=0,t=1,n;while(scanf("%d",&n),n<=0);while(!(t<=n&&t*2>=n)){t=t*2;m++; }printf("%d\n",m); }6.求平面点间的最短距离。
数组元素x[i]#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数列求值问题。
数列的第1 此后各项值均为该项前二项之和。
#include <stdio.h>long f(int n);void main(){ printf("%ld\n",f(30)); }long f(int n){ if(n==1 || n==2 )return 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]= b[i]=a[i]+a[i-1];for (i=1; i<10; i++){ printf("%3d",b[i]);if (i%3==0) printf("\n");}}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]= m%2;m=m/2; }for(;j!=0;j--)printf("%d", 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.求满足条件的数。