程序设计题答案

合集下载

计算机程序设计员考试题与参考答案

计算机程序设计员考试题与参考答案

计算机程序设计员考试题与参考答案一、单选题(共100题,每题1分,共100分)1、下列关于概要设计的基本原则,描述错误的是:( )。

A、应该遵循一些原则,包括:模块化、抽象B、应该遵循一些原则,包括:抽象、模块独立C、应该遵循一些原则,包括:抽象、继承D、应该遵循一些原则,包括:模块化、模块独立正确答案:C2、狭义地讲,测试是指:( )。

A、指软件产品生命周期内所有的检查、评审和确认活动B、对软件产品质量的检验和评价C、对软件产品功能的检查和评价D、对软件产品是否存在bug的检验正确答案:B3、下列不属于内存静态重定位的特点是( )。

A、在程序运行中无需再进行转换B、不需增加硬件地址变换机构C、内存利用率高D、地址变换在程序装入过程中一次完成正确答案:C4、( )描绘了系统的数据关系。

A、状态转化图B、程序流程图C、对话图D、实体关系图正确答案:D5、表A中的列B是标识列,属于自动增长数据类型,标识种子是2,标识递增量为3。

首先插入三行数据,然后再删除一行数据,再向表中增加数据行时,标识列将是()。

A、2B、8C、5D、11正确答案:D6、狭义地讲,测试是:( )。

A、对软件产品质量的检验和评价B、对软件产品功能的检查和评价C、对软件产品是否存在bug的检验D、指软件产品生命周期内所有的检查、评审和确认活动正确答案:A7、SQL中不一定能保证完整性约束彻底实现的是()A、主键约束B、检查子句C、局部约束D、外键约束正确答案:C8、在文件结构中,( )对用户是透明的。

A、物理的文件结构B、字节型文件结构C、字符型文件结构D、逻辑的文件结构正确答案:A9、所有的( )必须与业务需求一致。

A、系统需求B、产品需求C、功能需求D、用户需求正确答案:D10、在操作系统的管理下,在内存中划出若干个单元作为缓冲区,这种缓冲称为( )。

A、硬件缓冲B、多重缓冲C、单缓冲D、软件缓冲正确答案:D11、为查看产生特定诊断消息的代码语句,只要( )Output窗口中相关的诊断消息即可。

大学程序设计大赛试题答案

大学程序设计大赛试题答案

大学程序设计大赛试题答案一、选择题1. 在C++中,下列哪个关键字用于定义常量?A. staticB. volatileC. constD. mutable答案:C2. 以下关于Python中的列表(list)说法正确的是:A. 列表是不可变的序列类型。

B. 列表不支持添加元素。

C. 列表可以包含不同类型的元素。

D. 列表的元素不能被删除。

答案:C3. 在Java中,关于异常处理的描述,以下哪项是正确的?A. try块中必须跟catch块。

B. catch块可以捕获所有类型的异常。

C. finally块可以用于执行清理操作,无论是否发生异常都会执行。

D. throw关键字用于声明一个可能抛出的异常类型。

答案:C4. 以下关于数据库事务的描述,哪项是错误的?A. 事务具有原子性。

B. 事务具有一致性。

C. 事务具有隔离性。

D. 事务不具备持久性。

答案:D5. 在HTML5中,用于创建交互式内容的标签是:A. <canvas>B. <svg>C. <iframe>D. <audio>答案:A二、填空题1. 在JavaScript中,可以使用________函数来获取字符串的长度。

答案:length2. 在Python中,使用________关键字可以遍历字典中的所有键。

答案:keys()3. SQL语句中,用于删除表中所有记录但保留表结构的命令是________。

答案:TRUNCATE TABLE4. 在C语言中,使用________关键字可以定义一个指针变量。

答案:*(星号)5. 正则表达式中,\d表示匹配一个________字符。

答案:数字三、编程题1. 题目描述:编写一个程序,输入一个整数n,输出n的阶乘。

C++代码示例:```cpp#include <iostream>using namespace std;int factorial(int n) {if (n <= 1) {return 1;} else {return n * factorial(n - 1);}}int main() {int n;cin >> n;cout << factorial(n) << endl;return 0;}```2. 题目描述:编写一个Python程序,实现一个简单的计算器,支持加、减、乘、除功能。

Python程序设计课后习题答案-第二单元

Python程序设计课后习题答案-第二单元

习题2一、选择题1.流程图中表示判断框的是()。

BA.矩形框 B.菱形框 C.平行四边形框 D.椭圆形框2.下面不属于程序的基本控制结构的是()。

DA.顺序结构 B.选择结构 C.循环结构 D.输入输出结构3.以下关于Python语句的叙述中,正确的是()。

AA.同一层次的Python语句必须对齐B.Python语句可以从一行的任意一列开始C.在执行Python语句时,可发现注释中的拼写错误D.Python程序的每行只能写一条语句4.下列语句中,在Python中非法的是()。

CA.x=y=z=1 B.x,y=y,x C.x=(y=z+1) D.x+=y 5.已知x=2,语句x*=x+1执行后,x的值是()。

DA.2 B.3 C.5 D.66.在Python中,正确的赋值语句为()。

CA.x+y=10 B.x=2y C.x=y=30 D.3y=x+17.为了给整型变量x,y,z赋初值10,下面正确的Python赋值语句是()。

C A.xyz=10 B.x=10 y=10 z=10C.x=y=z=10 D.x=10,y=10,z=108.语句x=input()执行时,如果从键盘输入12并按回车键,则x的值是()。

D A.12 B.12.0 C.1e2 D.'12'9.语句x,y=eval(input())执行时,输入数据格式错误的是()。

A A.3 4 B.(3,4) C.3,4 D.[3,4]10.语句print('x=${:7.2f}'.format(123.5678))执行后的输出结果是()。

选项中的□代表空格。

CA.x=□123.56 B.$□123.57 C.x=$□123.57 D.x=$□123.56 11.print('{:7.2f}{:2d}'.format(101/7,101%8))的运行结果是()。

BA.{:7.2f}{:2d} B.□□14.43□5(□代表空格)C.□14.43□□5(□代表空格) D.□□101/7□101%8(□代表空格)12.下列程序的运行结果是()。

C语言程序设计习题(含答案)

C语言程序设计习题(含答案)

C语言程序设计习题(含答案) C语言程序设计习题(含答案)C语言是一种常用的编程语言,被广泛应用于计算机科学和软件开发领域。

为了帮助学习者更好地掌握C语言的编程技巧,本文提供一些常见的C语言程序设计习题及其答案。

通过完成这些习题,学习者可以锻炼编程思维,加深对C语言的理解,并提高编程能力。

习题一:求两个整数的和题目描述:编写一个程序,计算两个整数的和并输出结果。

解答:```C#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```习题二:计算圆的周长和面积题目描述:编写一个程序,根据用户输入的半径,计算圆的周长和面积,并输出结果。

解答:```C#include <stdio.h>#define PI 3.14159int main() {double radius, circumference, area;printf("请输入圆的半径:");scanf("%lf", &radius);circumference = 2 * PI * radius;area = PI * radius * radius;printf("圆的周长为:%lf\n", circumference);printf("圆的面积为:%lf\n", area);return 0;}```习题三:判断一个数是否为素数题目描述:编写一个程序,判断用户输入的一个正整数是否为素数。

解答:```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;}```习题四:计算两个矩阵的乘积题目描述:编写一个程序,计算两个3x3的矩阵的乘积并输出结果。

程序设计题库及答案详解

程序设计题库及答案详解

程序设计题库及答案详解一、选择题1. 下列哪个选项不是面向对象编程的三大特性?A. 封装B. 继承C. 多态D. 过程化答案:D2. 在Java中,以下哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A3. 以下哪个是Python中的循环结构?A. forB. whileC. both A and BD. none of the above答案:C二、填空题1. 程序设计中的________是用来定义数据的属性和方法的集合。

2. 在C语言中,________关键字用于声明一个函数。

答案:void 或者 int(根据函数返回类型而定)3. 在JavaScript中,________方法用于将字符串转换为数字。

答案:parseInt 或 parseFloat(根据转换类型而定)三、简答题1. 请简述什么是递归函数,并给出一个简单的递归函数示例。

答案:递归函数是指在函数内部调用自身的函数。

递归函数通常用于解决可以分解为相同问题的子问题的问题。

以下是一个计算阶乘的递归函数示例:```cint factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}```2. 解释什么是堆栈,并说明它们在程序设计中的应用。

答案:堆栈是两种不同的数据结构。

堆是一种优先队列,其中最大或最小元素可以在对数时间内被找到。

栈是一种遵循后进先出(LIFO)原则的数据结构。

在程序设计中,堆栈广泛应用于内存管理、函数调用、表达式求值、回溯算法等领域。

四、编程题1. 编写一个函数,实现字符串的反转。

```pythondef reverse_string(s):return s[::-1]```2. 给定一个整数数组nums,请找出数组中最长递增子序列的长度。

答案:```pythondef lengthOfLIS(nums):if not nums: return 0dp = [1] * len(nums)for i in range(1, len(nums)):for j in range(i):if nums[i] > nums[j]:dp[i] = max(dp[i], dp[j] + 1)return max(dp)```五、案例分析题1. 描述一个场景,其中使用多线程可以提高程序的效率,并解释为什么。

c程序设计考试题目及答案

c程序设计考试题目及答案

c程序设计考试题目及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. intC. voidD. return答案:C2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A3. 若有定义`int a = 5;`,则执行`a += 3;`后,变量a的值是多少?A. 3B. 5C. 8D. 无法确定答案:C4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. $variableD. variable!答案:B5. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World'D. 'Hello, World'答案:A6. C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][];B. int array[][3];C. int array[3][3];D. int array[][];答案:C7. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > y)B. if x > yC. if (x > y) elseD. if (x > y) else if答案:A8. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for i = 0; i < 10; i++C. for (int i = 0; i < 10;)D. for (i = 0; i < 10; i++)答案:A9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int, int);B. int add(int a, int b)C. int add(int, int) {}D. int add(a, b)答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr[10];D. int ptr(int);答案:A二、填空题(每题2分,共20分)1. 在C语言中,`printf`函数用于__输出__。

程序设计试卷及答案

程序设计试卷及答案

程序设计试卷及答案一、选择题(每题2分,共20分)1. 下列哪个选项是正确的?A. 程序设计是一种艺术形式B. 程序设计是一种科学C. 程序设计只涉及硬件的操作D. 程序设计只需要机器语言的理解和应用2. C语言中的函数可以返回多个值吗?A. 可以B. 不可以3. 以下哪个关键字用于定义常量?A. constB. staticC. volatileD. extern4. 以下哪个选项是正确的?A. 集成开发环境(IDE)只用于调试程序代码B. 集成开发环境(IDE)只用于编译程序代码C. 集成开发环境(IDE)用于编写、调试和编译程序代码D. 集成开发环境(IDE)只用于编写程序代码5. 在C语言中,以下哪个运算符用于获取变量的地址?A. &B. *C. ->D. sizeof6. 下列哪个选项是正确的?A. 结构体是由相同类型的数据组成B. 结构体是 C 语言中的一种数据类型C. 结构体可以包含函数D. 结构体只能包含基本数据类型的成员7. 以下哪个关键字用于定义函数的形参类型?A. voidB. intC. externD. typedef8. 哪个是指针的正确声明方式?A. int *p;B. pointer p;C. p int;D. ptr int;9. 标识符的命名规则中,以下哪个选项是错误的?A. 可以使用数字作为标识符的开头B. 可以使用下划线作为标识符的开头C. 标识符可以由字母、数字和下划线组成D. 标识符长度可以任意长短10. 哪个是正确的if语句的用法?A. if (条件) 语句;B. if 条件语句;C. if 条件 then 语句;D. if (条件) then 语句;二、填空题(每空2分,共20分)1. C语言中,定义带有两个整型参数和整型返回值的函数的声明应该是:`int add(int a, int b);`2. 在C语言中,通过`malloc()`函数动态分配内存之后,应使用`free()`函数释放内存。

程序设计习题集(带答案)

程序设计习题集(带答案)

一、选择题1.结构化程序设计的3种结构是(D)A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构2.以下叙述中正确的是(C)A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点3.C语言中用于结构化程序设计的3种基本结构是(A)A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue4.C语言中最简单的数据类型包括(B)A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型5.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B) A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b6.下列可用于C语言用户标识符的一组是(B)A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof7.C语言中运算对象必须是整型的运算符是(A)A)%=B)/C)=D)<=8.若变量a,i已正确定义,且i已正确赋值,合法的语句是(B)A)a= =1B)++i;C)a=a++=5;D)a=int(i);9.已知int t=0;while (t=1){...}则以下叙述正确的是(B)A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对10.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是(B) A)10<回车>22<回车>33<回车>B)10.0,22.0,33.0<回车>C)10.0<回车>22.0<空格>33.0<回车>D)10<<空格>>22<回车>33<回车>11.有如下程序:main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是(A)A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=212.有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}执行后输出结果是(C)A)1,1,2B)2,2,1C)2,2,2D)2,2,313.有如下程序main(){float x=2.0,y;if(x<0.0)y=0.0;else if(x<10.0)y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是(C)A)0.000000B)0.250000C)0.500000D)1.00000014.有如下程序:main(){int n=9;while(n>6){n--;printf("%d",n);}}该程序的输出结果是(B)A)987B)876C)8765D)987615.在下列选项中,没有构成死循环的是(D)A) int i=100;while(1){i=i 0+1;if(i>100)break;}B) for(;;);C) int k=10000;do{k++;}while(k>10000);D) int s=36;while(s)--s;16.设int x=1,y=1;表达式(!x||y--)的值是(B)A)0B)1C)2D)-117.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D) A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参18.有以下程序float fun(int x,int y){return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是(B)A)编译出错B)9C)21D)9.019.若有以下调用语句,则不正确的fun函数的首部是(D)main(){int a[50],n;…fun(n,&a[9]);…}A)void fun(int m,int x[])B)void fun(int s,int h[41])C)void fun(int p,int *s)D)void fun(int n,int a)20.fseek函数的正确调用形式是(B)A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)21.若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是(C)A)EOFB)-1C)1D)NULL22.若有说明语句:char c='\72';则变量c (A)A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定23.若有说明 int a[3][4];则a数组元素的非法引用是(D)A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]24.设有以下说明语句struct stu{int a;float b;}stutype;则下面的叙述不正确的是(C)A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名25.在C语言中,引用数组元素时,其数组下标的数据类型允许是(C) A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式26.若运行时给变量x输入12,则以下程序的运行结果是(A)main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)1027.以下说法正确的是(C)A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分28.表达式0x13^0x17的值是(A)A)0x04B)0x13C)0xE8D)0x1729.有以下程序main(){int a=3, b=4;printf("%d\n", (a++)*(b++));}程序运行后的输出结果是 (A)A)12B)15C)16D)2030.下列程序执行后的输出结果是(A)void func(int *a,int b[]){b[0]=*a+6;}main(){int a,b[5];a=0; b[0]=3;func(&a,b);printf("%d\n",b[0]);}A)6B)7C)8D)931.若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是(D)A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等32.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是(C)A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,33.以下程序的运行结果是(A)struct date{int year,month,day;}today;main(){printf("%d\n",sizeof(struct date));}A)6B)8C)10D)1234.若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是(D) A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point35.在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是(B)A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定36.fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是(A)A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'37.若执行下述程序时,若从键盘输入6和8时,结果为(B)main(){int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对38.fscanf函数的正确调用形式是(D)A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);39.下列关于C语言数据文件的叙述中正确的是(D)A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件40.有以下程序void ss(char *s,char t){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){char str1[100]="abcddfefdbd",c='d';ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是(B)A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd41.struct link{int data;struct link *next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。

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

1.请编写函数fun,:计算并输出下列多项式的值:sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n! double fun(int n){ double s=1.0,t=1.0;int i;for(i=1;i<=n;i++){ t*=i;s+=1/t; }return s; }2.函数fun:计算并输出下列多项式值: sn=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)1/2n). double fun(int n){ double s=0,k=1.0;int i;for(i=1;i<=2*n;i++){ s+=k/i;k=-k; }return s; }3.double fun(int n){ double s=0,t=1.0;int i;for(i=1;i<=n;i++){ t*=i;s+=1/t; }return s;}4.请编写函数fun:s=1+(1+2(0.5))+(1+2(0.5)+3(0.5))+…+(1+2 (0.5)+3(0.5)+…+n(0.5))double fun(int n){ double s=0,t=0;int i;for(i=1;i<=n;i++){ t+=sqrt(i);s+=t; }return s;}5.请编写函数fun:计算并输出当x<0.97时下列多项式的值,直到|sn-s(n-1)|<0.000001为止。

Sn=1+0.5x+0.5(0.5-1)/2!x(2)+…+0.5(0.5-1) (0.5-2)…..(0.5-n+1)/n!x(n)double fun(double x){ double s=0.0,s1=1.0,s0=0,p=1.0,t=1.0;int n=1;do{ s0=s1;s+=s0;t*=n;p*=(0.5-n+1)*x;s1=p/t;n++; }while(fabs(s1-s0)>1e-6);return s; }6.请编写函数fun:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。

double fun(int n){ int i;double sum=0.0;for(i=1;i<=n;i++)if(i%5==0 || i%9==0) sum+=1.0/i; return sum;=7.请编写函数fun:计算并输出给定整数n的所有因子(不包括1与自身)之和。

规定n的值不大于1000。

int fun(int n){int s=0,i;for(i=2;i<=n-1;i++)if(n%i==0) s+=i;return s; }8.请编写函数fun ,其功能是:计算并输出3到n之间所有素数的平方根之和。

double fun(int n){ int m,k i;double s=0.0;for(m=3;m<=n;m++){k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0) break;if(i>=k+1) s+=sqrt(m);9.编写函数int fun(int lim,int aa[max]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。

int fun(int lim, int aa[MAX]){ int i,j,k=0;for(i=2;i<=lim;i++){ for(j=2;j<i;j++)if(i%j==0)break;if(j==i)aa[k++]=i; }return k;}10.函数float fun(double h):使对变量h 中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。

float fun ( float h ){ long t;t=( h*1000+5)/10;return (float)t/100; }11.请编写一个函数unsigned fun(unsigned w),w使一个大于10的无符号整数,若w 使n(n≥2)位的整数,则函数求出w后n-1位的数作为函数值返回。

unsigned fun ( unsigned w ){ unsigned t=1,u=w;while(u>=10){ u=u/10;t*=10; }return w%t; }12.程序定义了n×n的二维数组,并在主函数中自动赋值。

请编写函数fun,该函数的功能是:使数组左下半三角元素中的值乘以n。

void fun ( int a[][N], int n ){ int i,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]*=n; }13.下列程序定义了n×n的二维数组,并在主函数中自动赋值。

请编写函数fun(int a[][n],int n),该函数的功能是:将数组右上半三角元素中的值乘以m。

void fun(int a[][n],int m){int i, j;for(j=0;j<N;j++)for(i=0;i<=j;i++)a[i][j]*=m; }14.下列程序定义了n×n的二维数组,并在主函数中自动赋值。

请编写函数fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。

int fun(int a[][N]){ int i,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]=0;}15.请编写函数fun,该函数的功能是:将m行n列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的储存单元中。

void fun(int(*s)[10],int *b,int *n,int mm,int nn){ int i,j;for(i=0;i<mm;i++)for(j=0;j<nn;j++)b[(*n)++]=s[i][j];}16.请编写函数fun:将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

void fun(char s[][N], char *b){ int i,j,n=0;for(i=0; i < N;i++) /* 请填写相应语句完成其功能*/{ for(j=0;j<M;j++)if(s[j][i])b[n++]=s[j][i]; }b[n]='\0'; }17.下列程序定义了n×n的二维数组,并在主函数中赋值。

请编写函数fun:求出数组周边元素的平均值并作为函数值返回给主函数中的s。

double fun(int w[][N]){ int j;double s=0;for(j=0;j<N;j++){ s+=w[0][j];s+=w[j][0];s+=w[N-1][j];s+=w[j][N-1]; }s=s-w[0][0]-w[N-1][N-1]-w[N-1][0]-w [0][N-1];return s/(4*N-4);}18.写函数fun,函数的功能使求出二维数组周边元素之和,作为函数值返回。

二维数组中的值在主函数中赋予。

int fun(int a[M][N]){ int i,j,s=0;for(j=0;j<N;j++{s+=a[0][j];s+=a[M-1][j];}for(i=1;i<=M-2;i++={s+=a[i][0];s+=a[i][N-1];}return s; )19.编写程序,实现矩阵(3行3列)的转置(即行列互换)。

void fun(int array[3][3]){ int i,j,temp;for(i=0;i<3;i++)for(j=0;j<i;j++){temp=array[i][j];array[i][j]=array[j][i];array[j][i]=temp;}20.请编写一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。

二维数组中的数已在主函数中赋予。

void fun(int tt[M][N], int pp[N]){ int i,j,min;for(j=0;j<N;j++){min=tt[0][j];for(i=0;i<M;i++){if (tt[i][j]<min)min=tt[i][j]; }pp[j]=min;21.已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入a结构体数组中。

请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。

void fun(stu a[],stu *s){ int i;*s=a[0];for(i=1;i<N;i++)if(a[i].s>(*s).s)*s=a[i];}22.已知学生的记录由学号和学习成绩构成,n名学生的数据已存入a结构体数组中。

编写函数fun,该函数的功能:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。

void fun(stu a[ ],stu *s){ int i;*s=a[0];for(i=0; i<N;i++)if(a[i].s<(*s).s)*s=a[i];}23.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。

请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。

请自己定义正确的形参。

void fun(STREC *a){ int i;for(i=0;i<N;i++)a->ave+=a->s[i]/N; }24. 学生的记录由学号和成绩组称个,n 名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n 传回,平均分通过函数值返回。

double fun( STREC *a, STREC *b, int *n ){ int i;double ave=0;*n=0;for(i=0;i<N;i++)ave+=a[i].s/N;for(i=0;i<N;i++)if(ave>a[i].s)b[(*n)++]=a[i];return ave; }25. n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。

请编写函数fun,它的功能是:求出平均分,由函数值返回。

double fun( STREC *h ){STREC *p=h->next;double ave=0;while(p){ ave+=p->s;p=p->next;}return ave/N; }26. 学生的记录由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能使:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。

相关文档
最新文档