文档视界 最新最全的文档下载
当前位置:文档视界 › C程序设计实践题目

C程序设计实践题目

C程序设计实践题目
C程序设计实践题目

《C程序设计实践》题目

A1: 设计一个菜单程序,选择数字键1~3分别在屏幕输出“正三角形”、“菱形”和“平行四边形”,选择其他数字结束操作并回到输入界面。

要求:(1)主函数菜单设计(2)每个图形单独是一个函数,即三个子函数。

A2: 字符左右排序。以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组中。

排序条件:将字符串从中间一分为二,右边部分按字符的ASCII码升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参与处理,仍放在原位置上。

例如,原字符串:

hgfedcba

876594321

则处理后字符串:

abcdhgfe

123498765

要求(1)子函数Exch()实现左右部分交换

(2)子函数Sort():完成排序功能

A3: 循环输入任意三位正整数,判断该三位数是否等于其每位数字的阶乘之和,直到输入999为止。

要求:调用函数判断该三位数是否等于其每位数字的阶乘之和

A4: 求兔子问题。第1年有1对兔子,每对兔子从出生后第3个年起,就可每年生1对兔子,兔子的寿命是6年,问第n年有多少对兔子?

要求:调用函数计算兔子数量

A5. 输入一个正整数(短整数)、计算输出该数的各位数字之和,各位数字的平均和、反复执行、直到输入的数为999为止。

要求:(1)将各位数字存于数组中

(2)分别调用子函数计算各位数字之和,各位数字的平均和。

A6. 从键盘上输入一个字符串(不多于40个,以回车换行符作为输入结束标记),将其中的大写字母改为小写字母,其它字符不变,然后逆序输出。

要求:(1)调用子函数实现将字符串中的大写字母改为小写字母

(2)调用子函数实现逆序输出功能

A7. 有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?

要求:(1)调用子函数计算天数

A8. 计算任意多个三个数的最大公约数,直到输入999为止。

要求:(1)调用子函数求最大公约数

A9. 输入一行字符串,将字符串中所有下标为偶数位置上的字母转换为大写。

要求:(1)调用子函数实现转换功能

A10有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁。问第4个人多少岁,他说比第3个人大2岁。问第3个人多少岁,他说比第2个人大2岁。问第2个人多少岁,他说比第1个人大2岁。问第1个人多少岁,他说是10岁。请问第5个人多大?

要求:用递归实现

A11. 从键盘上输入一个字符串(不多于40个,以回车换行符作为输入结束标记),将其中的大写字母改为小写字母,其它字符不变,然后逆序输出。

要求:(1)调用子函数实现将字符串中的大写字母改为小写字母

(2)调用子函数实现逆序输出功能

A12.写出满足不等式1+1/2+1/3+1/4+…1/N>15最小的N值并输出。

A13. :给定某个年、月、日,计算出这一天为该年的第几天。

要求:(1)用子函数实现闰年的判断

(2)用子函数实现日期的计算

A13.找出满足以下条件三位数n,它除以11所得到的商等于n的各位数字的平方和,且其中至少有两位数字相同。

如:131 131/11=11 12+32+12=11

要求:(1)调用子函数计算n的各位数字的和

(2)调用子函数进行判断并输出

A14.输入一行字符串,将字符串中所有下标为偶数位置上的字母转换为大写。

要求:(1)调用子函数实现转换功能

B1、从键盘输入字符串,将其中的单词(两个空格之间的字符串)的第一个字母转换为其后一个字母(如第一个字母为a,则将其转换为b,如第一个字母为z,则将其转换为a),输出原始字符串及转换后的所有单词,直到输出“*”结束转换和输出。

要求:转换功能由单独的函数完成。

B2:候选人得票的统计。设有三个候选人,每次输入一个得票的候选人的编号,共有n个人参加投票,最后输出各人得票结果。

要求:有子函数的调用过程

B3.部分排序

要求:

(1)编制子函数 Sort();

(2)对任意几个在1000~9999之间的数;

(3)按每个数的后三位的大小进行降序排列;

(4)取出满足此条件的前5个数依次存入数组mm中,如果后三位的数值相等,则按原先的数值进行升序排列。

例如:处理前:6012 5099 9012 7025 8088

处理后:6012 9012 5099 8088 7025

B4.统计符合特定条件的数

要求:

(1)从键盘随机敲入n个4位数,并把这些数存入数组a中;

(2)编写一个函数,其功能是如果4位数各位上的数字是偶数,统计出满足

此条件的个数;

(3)这些4位数按从大到小的顺序输出;

B5、编写一个函数fun(str),使主程序调用它实现以下功能:循环统计由实参传来的一个字符串中的字母、数字、空格和其他字符的个数,直到输入的字符串为999。

要求:例输入:

Hello Harbin $$$123

输出:

字母个数:11

数字个数:3

空格个数:2

其他字符个数:3

B6: 有一个一维数组,内放n个学生成绩,输出各分数段人数、平均分、最高分和最低分,保留小数点后一位。

要求:(1)分数段人数、平均分、最高分和最低分分别由三个或四个子函数完成。

(2)保留小数点后一位

B7.编写函数int fun(int x, int *pp),其功能是,求出能整除x且不是偶数的各整数,并按照从小到大的顺序放在pp指向的内存中,函数返回值为这些整数的个数。若x的值为30,数组中的数为1,3,5,15,函数返回4。

要求:(1)输出原数组、满足条件的数组和和个数

注:B类题目(红色)基础分数比A类题目(黑色)

程序设计练习题

第六章程序设计 1、下列程序运行时,若从键盘上输入20,则屏幕上的输出是多少?Input “请输入一个数:” to x If x<=10 Y=2*x-5 Else Y=2*x+5 Endif ? Y 2、执行下列程序后,变量A的值为多少?B的值为多少? A=100 B=200 IF A-B<0 T=A A=B B=T ENDIF ? A,B 3、下列程序运行时,若从键盘上输入25时,屏幕上显示的结果是多少?INPUT “X=” TO X DO CASE CASE X>10 ? “A1” CASE X>20 ? “A2” OTHERWISE ? “A3” ENDCASE RETURN

4、执行下列程序,变量T中的值是多少? T=1 FOR I=1 TO 5 T=T*I ENDFOR ? “T=”,T 5、执行下列程序,屏幕上输出的是多少? D=”” SS=”ABCDE” FOR I=1 TO 5 D=D+SUBSTR(SS,6-I,1) ENDFOR ? D 6、执行下面程序,屏幕上输出的Y是多少? STORE 0 TO X,Y DO WHILE .T. X=X+1 DO CASE CASE INT(X/2)=X/2 LOOP CASE X>=10 EXIT OTHERWISE Y=Y+X ENDCASE ENDDO ? Y 7、下列程序运行时,若从键盘上输入5,则屏幕上输出的是_______。Input "请输入一个数:" to x Do case

Case x>10 ?"A1" Case x>20 ?"A2" otherwise ?"A3" Endcase Return 8、执行下列程序片段后,变量T中的值是_______。 T=1 FOR I=1 TO 5 T=T*I ENDFOR ? "T=",T 9、如下程序显示的结果是。 s=1 i=0 do while i<8 s=s+i i=i+2 Enddo ?s 10、如下程序的输出结果是。 i=1 DO WHILE i<10 i=i+2 ENDDO ?i 11、执行下列程序后,变量A的值为_______,变量B的值为_______。

汇编语言程序设计练习题

汇编语言程序设计练习题 一、字符与串处理类 1.逆序输出字符串“BASED ADDRESSING”。 2.试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。 3.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 4.从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果。 5.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。)放在STRING中,试编制一个程序测试字符串中是否存在数字。如有,则把CL的第5位置1,否则将该位置置0。 6.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。),将其中的小写英文字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。 7.试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。 8.试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”。 9.试编写一段程序,要求输入两个字符串,如两个字符串相等则显示“MATCH”, 否则显示“NO MATCH”。 10.试编写一段程序,要求在长度为100H字节的数组中,找出大于61H的无符号数的个数并存入字节单元UP中,找出小于2FH的无符号数的个数并存入字节单元DOWN中。 11.在内存区域0B800:0000-0B800:0FFFF(都是16进制数)内查找首地址为SOURCE的串(SOURCE的首字节为串长度),如果找到,则把AL的第0位置0,否则将该位置置1。 12.已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。试编制一个程序,把既在A中又在B中出现的整数存放于数组C中。 13.在附加段中,有一个首地址为LIST和未经排序的字数组。在数组的第一个字中,存放着该数组的长度,数组的首地址已存放在DI寄存器中,AX寄存器中存放着一个数。要求编制一个程序:在数组中查找该数,如果找到此数,则把它从数组中删除。 二、数字输入输出类 1. 试编制一个程序,把BX寄存器内的二进制数以十六进制数的形式在屏幕上显示出来。 2. 试编制一个程序,把BX寄存器内的二进制数以八进制数的形式在屏幕上显示出来。 3. 试编制一个程序,把BX寄存器内的二进制数以十进制数的形式在屏幕上显示出来。 4.从键盘上输入2个一位数,求出它们的和(假设和不超过1位)。 5.试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。 6.试编写一段程序,从键盘接收一个0-65535间的十进制无符号数,并在终端上显示与它等值的二进制数。 7.试编写一段程序,从键盘接收一个-32768-32767间的十进制有符号数,并在终端上显示与它等值的二进制数。 8.编写一个程序,从键盘输入一个0~65535之间的10进制无符号数,然后以16进制

编程基础练习题

第二章基本数据类型和运算 因为题目略有删减,可能编号不连续,请见谅 一、单项选择题 1.下列数据中属于“字符串常量”的是(A )。 A. "a"B.{ABC} C.?abc\0?D.?a? 4.字符串"ABC"在内存占用的字节数是( B )。 A.3 B.4C.6 D.8 5.字符串" \?ABCD\? "内存占用的字节数是( C )。 A.4 B.6 C.7D.8 6.在C语言中,合法的长整型常数是( A )。 A.0L B.4962710 C.0.054838743 D.2.1869e10 7. 在C语言中,合法的短整型常数是( D )。 A.0L B.0821 C.40000 D.0x2a 8.下列数据中不属于“字符常量”的是( C )。 A.…\xff?B.…\160?C.?070?D.070 9.char型常量的内存中存放的是( A )。 A.ASCII代码值B.BCD代码值C.内码值D.十进制代码值 11.常数的书写格式决定了常数的类型和值,03322是( B )。 A、16进制int类型常数 B、8进制int类型常数 C、10进制int类型常数 D、10进制long int类型常数 12.“e2”是( D ) 。 A、实型常数100 B、值为100的整型常数 C、非法标识符 D、合法标识符 13. 要为字符型变量a赋初值,下列语句中哪一个是正确的( A )。 A、char a=?3?; B、char a=”3”; C、char a=%; D、char a=*; 14. 要为float类型变量x、y、z赋同一初值3.14,下列说明语句哪一个是正确的(C )。 A、float x,y,z=3.14; B、float x,y,z=3*3.14; C、float x=3.14,y=3.14,z=3.14; D、float x=y=z=3.14; 15. 语句float pi=3.1415926535; 将( D )。 A、导致编译错误 B、说明pi为初值3.1415926535的单精度实型常数 C、导致运行时的溢出错误 D、说明pi为初值3.141593的单精度实型常数 16. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B)。 A、算术运算、赋值运算、关系运算 B、算术运算、关系运算、赋值运算 C、关系运算、赋值运算、算术运算 D、关系运算、算术运算、赋值运算 17. 关系运算符中优先级最低的运算符是( C )。 A、“>=”和“<=” B、“>”和“<” C、“==”和“!=” D、“<=”和“<” 18. 逻辑运算符中,运算优先级按从高到低依次为( D )。 A、&&,!,|| B、||,&&,! C、&&,||,! D、!,&&,|| 19. 对C程序在作逻辑运算时判断操作数真、假的表述,下列哪一个是正确的( A )。 A、0为假非0为真 B、只有1为真 C、-1为假1为真 D、0为真非0为假 20. 表达式x&&1等效于( C )

经典练习C语言编程的题目及标准答案整理

1.逆序输出正三位数 #include intmain() { intinput,output=0; scanf("%d",&input); while(input != 0) { output = output*10 + input%10;input/= 10; } printf("%d\n",output); return 0; } 2.百元找零函数 #include int main() { intamount=100; int price=0; printf("请输入金额(元)"); scanf("%d",&price); ?printf("请输入票面"); scanf("%d",&amount); int change=amount-price; printf("找您%d元。\n",change); ? return0; } 3.求平均数 #include int main() { int a,b; scanf("%d%d",&a,&b);

double c=(a+b)/2.0; /*scanf("%d",&amount); 这是注释,我随便放的,没意义 int change=amount-price;*/ printf("%d和%d的平均值是%f\n",a,b,c); return0; } 4.写出程序的输出: int i=1; switch(i/3){ case0:printf("zero"); case1:printf("one"); case2:printf("two"); } 正确答案是:zeroonetwo。 5.水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例如:153 = 13 + 53+33。本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3<=N<=7)。 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。 输入样例: 3 输出样例: 153 370 371 407

50道JAVA基础编程练习题

50道JAVA基础编程练习题 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下 的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。

程序设计基础练习题(全答案版)

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.docsj.com/doc/3118749537.html,的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网 B. Windows C. C# D. 网络操作系统 2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。 A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”) C. System.Console.WriteLine(“x={0}”,x) D. System.Console.WriteLine(“x={x}”) 3.要退出应用程序的执行,应执行下列的_A___语句。 A. Application.Exit(); B. Application.Exit; C. Application.Close(); D. Application.Close; 4.关于C#程序的书写,下列不正确的说法是__D________。 A.区分大小写 B.一行可以写多条语句 C.一条语句可以写成多行 D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 5. 在C#语言中,下列能够作为变量名的是__C__。 A.if B. 3ab C. b_3a D. a-bc 7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。 A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=0 8. 以下程序的输出结果是___C_____。 A. 5 B. 4 C. 6 D. 不确定 9. If语句后面的表达式应该是__A___。 A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:

程序设计基本训练题集

程序设计基本训练题集,给你拿去做着玩吧!! 一、基础题 1. 编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。 2. 编程,输入一个10进制正整数,然后输出它所对应的八进制、十六进制数。 3. 输入20个整数存入一个整型数组,输出其中能被数组中其它(只需其中一个)元素整除的那些数组元素。 4. 输入两个数组(数组元素个数自定),输出在两个数组中都出现的元素(如a[5]={2,3,4,5,6},b[6]={3,5,7,9,10,-1},则输出3、5)。 5. 输入两个数组(数组元素个数自定),输出在两个数组中都不出现的元素(如a[5]={2,3,4,5,6},b[6]={3,5,7,9,10,-1},则输出2、4、6、3、7、9、10、-1)。 6.给定年份year,判别该年份是否闰年,要求: 6-1 一般算法; 6-2 用宏实现:定义一个宏以判别该年份是否闰年。 7.给定一个日期(年/月/日)计算该日期是所在年的第几天。 8. 编写一个函数,处理n行、n列的二维数组:将每一行的元素同除以该行上绝对值最大的元素。 9. 设计一个函数,求给出数的补码。 10.编写一个程序,输入月份号,输出该月份的英文月名,要求用指针数组处理。 11. 编写函数,求m行、n列的二维数组全体元素中负数的个数。 12. 编写函数,返回在一个整数组中出现次数最多的数及其出现次数。 13. 编写函数,在n个元素的一维数组中,统计比相邻元素大的数组元素个数并将统计数返回(不考虑a[0]和a[n-1]),要求以指针变量而不是数组名作参数。 14. 编写函数,在n个元素的一维数组中,找出最大值、最小值并传送到调用函数。 15. 编写一个函数,统计m行n列二维数组中有多少个正数、多少个负数,多少个零,并返回统计结果。16.输入一个数组,删除数组中的负数。 17.有4名学生每个学生考4门课程,要求在用户输入学生学号以后能输出该生的全部成绩,用指针型函数来实现。请编写函数float *search(). main() {static float score[][4]={{60,76,80,90},{45,86,57,90},{58,95,80,71},{78,50,60,85}}; float *search(),p; int I,m; printf(“enter the number of student:”); scanf(“%d”,&m); printf(“the score of NO.%dare:\n”,m); p=search(score,m); for(I=0;I<4;I++) printf(“%52f\t”,*(p+I)); } float *search(float (pointer)[4],int n) {} 18.有4名学生每个学生考4门课程,要求在用户找出有不及格课程的学生学号并输出全部成绩,用指针来实现。 19.编写一个函数实现将一个整数按逆序存放到一个数组中。

模块化程序设计练习题及答案

第四章模块化程序设计练习题及参考答案 一、填空题 1、以下程序的运行结果是(111),把x定义为静态变量运行结果是(123)。void increment(void) { int x=0; x+=1; printf("%d",x);} main() { increment(); increment(); increment(); } 2、若输入的值是-125,以下程序的运行结果是(-125=-5*5*5) #include "math.h" main() { int n; void f(int n); scanf("%d",&n); printf("%d=",n); if(n<0) printf("-"); n=fabs(n); fun(n); } void fun(int n) { int k,r; for(k=2;k<=sqrt(n);k++) { r=n%k; while(r==0) { printf("%d",k); n=n/k; if(n>1)printf("*"); r=n%k; } } if(n!=1) printf("%d\n",n); } 3、设有以下宏定义: #define WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型)后,v的值是(880) 4、设有以下宏定义: #define WIDTH 80 #define LENGTH (WIDTH+40)

则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是(2400) 5、下面程序的运行结果是(5) #define DOUBLE(r) r*r main() { int x=1,y=2,t; t=DOUBLE(x+y); printf("%d\n",t);} 6、下面程序的运行结果是(36) #define MUL(z) (z)*(z) main() { printf("%d\n",MUL(1+2)+3); } 7、下面程序的运行结果是(212) #define POWER(x) ((x)*(x)) main() { int i=1; while(i<=4) printf("%d,",POWER(i++)); } 8、下面程序的运行结果是(9) #define MAX(a,b) (a>b?a:b)+1 main() { int i=6,j=8,k; printf("%d\n",MAX(i,j)); } 二、选择题 1、以下正确的说法是(D)建立自定义函数的目的之一是: A)提高程序的执行效率B)提高程序的可读性 C)减少程序的篇幅D)减少程序文件所占内存 2、以下正确的说法是(B) A)用户若需调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失原有含义。 C)系统根本不允许用户重新定义标准库函数。 D)用户若需调用标准函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调用。 3、以下正确的函数定义形式是(C) A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)double fun(int x,y) 4、以下正确的说法是(D)。在C语言中: A)实参与其对应的形参各占用独立的存储单元。 B)实参和与其对应的形参共占用一个存储单元。 C)只用当实参和与其对应的形参同名时才共占用存储单元。

程序设计补充练习题目

程序设计补充练习 心系灾区 【问题描述】 某市开展了面向全体市民的捐款捐物活动,并组织运力,以最快速度将这些救灾物资运送到灾区人民的手中。 已知救灾物资中有m 件大衣,一辆卡车一次最多可以运走n 件。请你编写程序计算一下,要将所有的大衣运走,北京市政府最少需要调动多少辆卡车参与运送。 【样例输入】 10000 1800 【样例输出】 6 方便游客 【问题描述】 风景美丽的张家界公园内的天子山处处是风景如画,从山脚到山顶共有n 个景区。湖南省旅游局为了满足广大游客的旅游需要,要在任意两个景区都建有直达缆车。现在湖南省旅游局请你计算要满足任意两个景区都有直达缆车,共需要建设多少条缆车线路。 【样例输入】 6 【样例输出】 15 老旧的机器 【问题描述】 伟大的工程师阿克蒙德买了一台机器,为了维持这台机器的正常运作他每年必须花费一定的费用来维修这台机器。但是随着这台机器的使用,机器会损坏更快以至于每年用来维修这台机器的费用都是上一年的倍。已知第一年仅需要花费1 元。现在阿克蒙德想知道,如果他想用n 年,他总共需要花费多少钱来维修这台机器。 【样例输入】 3 【样例输出】 5 结果四舍五入取整数部分 商场购物 〖问题描述〗

王栋陪妈妈去商场买东西,最后结帐的时候,他特别留意了一下收款台的电脑。上面有一个表格,详细写名了所有商品的数量和单价,一按结束按钮,机器就可以自己算出总钱数。WD想,这个功能不是用一点点信息学的知识就能解决了么 于是,回到家,他写了一个类似功能的程序,轻松完成了收款电脑的功能。〖输入描述〗 第一行为一个整数N,表示购买物品的数量。 之后N行,每行两个数字,第一个是一个实数,表示该物品的单价,第二个是一个整数,表示该物品的数量。 〖输出描述〗 只有一个实数,表示所有物品的总钱数。 〖样例输入〗 3 2 1 1 4 〖样例输出〗 14 计算阴影的面积 〖问题描述〗 看如下的等腰直角三角形,已知最大的三角形的直角边长度为1,阴影部分的三角形都是由向对边做垂线得到的。如果阴影部分由n个小三角形组成,求它的面积。 只有一个整数,表示阴影部分有四个小三角形〖输出描述〗 只有一个实数,表示阴影部分的面积。 〖样例输入〗 4 〖样例输出〗 .1660156 拓展练习 数数小木块 【问题描述】 在墙角堆放着一堆完全相同的正方体小木块,如下图所示:

程序设计练习题及代码

C语言程序设计基础题 3.1鸡兔同笼一共有40只脚,求鸡兔各有多少只,总共有多少种组合。 #include main() { int i,j,x=0; for(i=0;i<=10;i++) { for(j=0;j<=20;j++) { if((4*i+2*j)==40) { printf("兔的只数为:%d 鸡的只数:%d\n",i,j); x++; } } } Printf("组合数:%d\n",x); } 3.2换零钱.把一元钱全兑换成硬币(1分2分5分),有多少种兑换方法 #include main() { int one,two,five; for(one=1;one<=100;one++) { for(two=0;two<=50;two++) { for(five=0;five<=20;five++) { if(one+2*two+5*five==100) { printf("一分:%d 二分:%d 五 分:%d\n",one,two,five); } } } } } 3.3已知A>B>C>0,A,B,C为整数,且A+B+C<100。求满足1/A2 + 1/B2= 1/C2的A,B,C共有多少组。 #include main() { int A,B,C; for(A=1;A<100;A++)

{ for(B=1;B<100;B++) { for(C=1;C<100;C++) { if(((A+B+C)<100)&&((1.0/(A*A))+(1.0/(B*B))==(1.0/(C*C)))) { printf("A=%d B=%d C=%d\n",A,B,C); } } } } } 3.4设abcd*e=dcba,(a非0,e非0非1),求满足条件的整数abcd与e #include main() { int a,b,c,d,e; for(a=1;a<9;a++){ for(b=0;b<9;b++){ for(c=0;c<9;c++){ for(d=0;d<9;d++){ for(e=2;e<9;e++){ if(((a*1000+b*100+c*10+d))*e==(d*1000+c*100+b*10+a)){ printf("a=%d b=%d c=%d d=%d e=%d\n",a,b,c,d,e); } } } } } } } 3.5因子之和等于它本身的数为完数。如:28的因子是1,2,4,7,14,且1+2+4+7+14=28,则28为完数。求[2,1000]中的完数。 #include main() { int i,j,x; for(i=2;i<=1000;i++) { x=0; for(j=1;j

C程序设计练习题

1.从键盘上输入两个复数的实部与虚部,求出并输出它们的和、积、商。 2.以下程序的功能如(图1)。 |x+1| x<0 f= 2x+1 0≤x≤5 sinx+5 x>5 3.输入三个整数x,y,z,请把这三个数由小到大输出。 4.统计读入的整数数据中大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。 5.以每行5个数输出500以内能被7或17整除的偶数,并求出其和。 6.以下程序不借助任何中间变量把a、b的值进行交换。 7.输出斐波那契(Fibonacci)数列(1,1,2,3,5,8,13……)的前20项。 8.求 1-3+5-7+……-99+101 的值。 9.输出如下形式的乘法表。 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 …… 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 10.实现求解下面的式子的结果,请填空将程序补充完整。 s=1*2+2*3+3*4+…+20*21。 11.以下程序的功能是分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。 12.求任一整数x的各位数字之和。 13.以下程序的功能是求两个非负整数的最大公约数和最小公倍数。 14.以下程序的功能如(图1)。 15.算式:?2*7?=3848中缺少一个十位数和一个个位数。编程求出使该算式成立时的这两个数,并输出正确的算式。 16.输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。 17.下面的程序是求1!+3!+5!+……+n!的和. 18.请编程序打印如下图形。 $ $$ $$$ $$$$ $$$$$ 19.打印出如下图案(菱形) * *** ***** *******

面向对象程序设计训练题目

面向对象程序设计训练题目 1、什么是面向对象 面向对象00二面向对象的分析00A +面向对象的设计00D +面向对象的编程 OOP; 通俗的解释就是万物皆对象,把所有的事物都看作一个个能够独立的对象 (单 元),它们能够自己完成自己的功能,而不是像C那样分成一个个函数;现在纯正的00语言主要是java和C#, C++也支持00, C是面向过程的。 2、简述private 、protected 、public 、in ternal 修饰符的访问权限。private : 私有成员,在类的内部才能够访问。 protected : 保护成员,该类内部和继承类中能够访问。 public : 公共成员,完全公开,没有访问限制。 in ternal: 当前程序集内能够访问。 3、https://www.docsj.com/doc/3118749537.html,中的五个主要对象 Conn ectio n:主要是开启程序和数据库之间的连结。没有利用连结对象将数据库 打开,是无法从数据库中取得数据的。这个物件在https://www.docsj.com/doc/3118749537.html,的最底层,我们能够自己产生这个对象,或是由其它的对象自动产生。 Comma nd:主要能够用来对数据库发出一些指令,例如能够对数据库下达查询、新

增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。这个对象是架构在Conn ection对象上,也就是Comma nc对象是透过连结到数据源。

DataAdapter:主要是在数据源以及DataSet之间执行数据传输的工作,它能够透过Commanc对象下达命令后,并将取得的数据放入DataSet对象中。这个对象是架构在Comman对象上,并提供了许多配合DataSet使用的功能。 DataSet:这个对象能够视为一个暂存区(Cache),能够把从数据库中所查询到的数据保留起来,甚至能够将整个数据库显示出来。DataSet的能力不只是能够 储存多个Table而已,还能够透过DataAdapter对象取得一些例如主键等的数据表结构,并能够记录数据表间的关联。DataSet对象能够说是https://www.docsj.com/doc/3118749537.html,中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的能力;也就是说我们是将DataAdapter对象当做DataSet对象以及数据源间传输 数据的桥梁。 DataReader:当我们只需要循序的读取数据而不需要其它操作时,能够使用DataReader对象。DataReader对象只是一次一笔向下循序的读取数据源中的数据,而且这些数据是只读的,并不允许作其它的操作。因为DataReader在读取数据的时候限制了每次只读取一笔,而且只能只读,因此使用起来不但节省资源而且效率很好。使用DataReader对象除了效率较好之外,因为不用把数据全 部传回,故能够降低网络的负载。 https://www.docsj.com/doc/3118749537.html,使用Conn ection 对象来连接数据库,使用Comma nc或DataAdapter对象来执行SQL语句,并将执行的结果返回给DataReader或DataAdapter ,然后再使用取得的DataReader或DataAdapter对象操作数据结果。 4、列举https://www.docsj.com/doc/3118749537.html,页面之间传递值的几种方式。

C语言程序设计练习题含程序及参考答案

C语言练习题 (所提供的源程序均采用自定义函数方式解决,如不采用函数 方式,也可直接在main函数中借鉴该思想编程,因时间有 限,所有程序未能一一验证,仅供参考使用) 1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。 #include int fun(int a,int b,int c) { if(a+b>c && b+c>a && a+c>b) { if(a==b && b==c ) return 3; else if(a==b||b==c||a==c) return 2; else return 1; } else return 0; } void main() { int a,b,c,shape; printf(\ Input a,b,c: ); scanf(%d%d%d,&a,&b,&c); printf(\ a=%d, b=%d, c=%d\n,a,b,c); shape =fun(a,b,c); printf(\ \nThe shape : %d\n,shape);

} 2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运行后 a 中的值为8,b中的值为3。 #include void fun(int *x,int *y) { int t; t=*x;*x=*y;*y=t } void main() { int a=3,b=8; printf(%d %d\n,a,b); fun(&a,b); printf(%d %d\n,a,b); } 3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。 例如,输入的数为:55 12 34, 输出结果应当是:a=55.0,b=34.0,c=12.0。 #include void fun(float *p,float *q,float *s) { float k; if (*p<*q) { k=*p;*p=*q;*q=k;} if (*q<*s) { k=*s;*s=*p;*p=k;} if (*p<*q) { k=*p;*p=*q;*q=k;} } void main() { float a,b,c; printf(Input a b c: ); scanf(%f%f%f,&a,&b,&c); printf(a=%4.1f,b=%4.1f,c=%4.1f\n\n,a,b,c); fun(&a,&b,&c); printf(a=%4.1f,b=%4.1f,c=%4.1f\n\n,a,b,c); } 4、编写函数fun(int n),它的功能是:计算正整数n的所有因子(1和n除外)之和作为函数值返回。例如:n=120时,函数值为239。 #include #include int fun(int n) { int i,s=0;

JAVA程序设计练习题(有答案)

《JAVA程序设计》练习题 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B)。 A.java B. .class C.html D. .exe 2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为(A )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占 用 2 字节内存空间。 3、设 x = 2 ,则表达式 ( x + + )/3 的值是 0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 true 和 false 。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为 MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120 。

编程思维训练题

编程思维训练一(学会用C语言运算符来表达你的想法) 用C表达式来表达下面的题目,比如判断一个整数a是不是等于9,对应的表 达式为 a == 9。 数学运算 1.将数学表达式c = 3a + 5b 翻译成C的表达式。 2.已知某个圆的半径为a,表示圆的面积和圆的周长。 3.已知字符变量a的值对应的是某大写字母,将其转换为对应的小写字母。 4.获取某个整数a的个位数值(比如75是5,109是9)。 5.获取某个大于3位的10进制整数a的百位数值(比如1923是9)。 6.假设整数a=1,b=5;表达式a++ + ++b 的值是? 7.不借助第三个变量,用一组表达式来交换两个整数a和b。 8.设变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是? 9.int a=8,b=5,c;, 执行语句 c=a/b+0.4;后,c 的值为? 10.给定一个浮点数,要求将其转化为只保留小数点后2位的小数,其中需 要四舍五入,比如1.23678->1.24。 Bool运算 1.假设a=1,则表达式a=1和a==1的值分别是? 2.假设a=1;表达式!(a-2)的值是? 3.表达式-1<=3<=-5的值是? 4.假设a=3,b=4,c=5;表达式a+b>c&&b==c的值是? 5.假设a=3,b=4,c=5;表达式!(a>b)&&!c||1的值? 6.对于整数a,如果表达式(a%5 == 3) && (a%7==4)&&(a%5==3)&&(a<20) 为真,那么a的值是? 7.判断某个整数a是否能被7整除。 8.判断某个边长为a的正方形的面积是否比某个半径为b的圆的面积大。 9.判断某个正整数a的个位数值在3,8的范围之内。比如16满足,12、 19不满足。 10.判断某个字符变量a是不是一个英文字符。 11.判断某个字符变量a是不是一个数字字符。 12.判断某个正整数a是不是一个质数(只能被自己和1整除的数)。 13.给定整数a,判断它是否能同时被7和3整除。 14.给定整数a,判断它是否能被7或者被3整除。 15.给定字符a和b,判断它们是否有一个字符是阿拉伯数字符号。 16.任意给定某一年为a,判断它是否为闰年。 逗号运算符 1.如果有int a; int i = 2;则执行完a = (i++, i++, i++)后;a和i的 值分别是? 条件运算符 1.有3个整数a,b,c,不用if只用基本表达式来找到其中的最大值。 2.已知:int n,i=1,j=2;执行语句n=i

C语言程序设计练习题(含程序及参考答案)

1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰返回2,一般三角形返回1,若不能构成三角形返回0。 #include int fun(int a,int b,int c) { if(a+b>c && b+c>a && a+c>b) { if(a==b && b==c ) return 3; else if(a==b||b==c||a==c) return 2; else return 1; } else return 0; } void main() { int a,b,c,shape; printf("\nInput a,b,c: "); scanf("%d%d%d",&a,&b,&c); printf("\na=%d, b=%d, c=%d\n",a,b,c); shape =fun(a,b,c); printf("\n\nThe shape : %d\n",shape); } 2、编写一个程序,将两个变量的值交换, 例如变量a中的值

原为 3,b中的值原为8,程序运行后 a 中的值为8,b中的值为3。 #include void fun(int *x,int *y) { int t; t=*x;*x=*y;*y=t } void main() { int a=3,b=8; printf("%d %d\n",a,b); fun(&a,b); printf("%d %d\n",a,b); } 3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。 例如,输入的数为:55 12 34, 输出结果应当是:a=55.0,b=34.0,c=12.0。 #include void fun(float *p,float *q,float *s) { float k; if (*p<*q) { k=*p;*p=*q;*q=k;} if (*q<*s) { k=*s;*s=*p;*p=k;}

程序设计练习题

1题: 编写程序,求四位数的偶数中,所有各位数字之和是15的倍数的数的和。 答案:1592376 2题: 编写程序,求共有几组i、j、k符合算式ijk+kji=1333,其中i、j、k是0~9之间的一位整数。答案:6 3题: 编写程序,求在3000以内能被17或者23整除的正整数的个数。 答案:299 8012题: 4题: 编写程序,求三位数的偶数中,所有各位数字之和是15的倍数的数的和。 答案:20454 5题: 编写程序,求1到5000之间的能被5整除的前若干个偶数之和,当和值大于500时退出,输出该和值。 答案:550 6题: 一个数如果刚好与它所有的因子之和相等,则称该数为一个"完数",如:6=1+2+3,则6就是一个完数。求出200到500之间所有的完数之和。 答案:496 7题: 一个数如果刚好与它所有的因子之和相等,则称该数为一个"完数",如:6=1+2+3,则6就是一个完数。求出1000以内的所有的完数之和。 答案:530 8题: 编写程序,求四位数的偶数中,所有各位数字之和是15的倍数的数的个数。 答案:306 9题: 一个数如果刚好与它所有的因子之和相等,则称该数为一个"完数",如:6=1+2+3,则6就是一个完数。求出1000以内的完数的个数。 答案:3 10题: 一个数如果刚好与它所有的因子之和相等,则称该数为一个"完数",如:6=1+2+3,则6就是一个完数。求出10000以内的完数的个数。

答案:4 11题: 编写程序,求出1~3000以内能被3或者5整除的数的个数。 答案:1400 12题: 用一元纸币兑换一分、两分和五分的硬币,要求兑换硬币的总数为50枚,问共有多少种换法?(注:在兑换中,一分、两分或五分的硬币数可以为0枚) 答案:13 13题: 编写程序,求出1~4000以内能被3或者11整除数的个数。 答案:1575 14题: 编写程序,求出100到500之间同时满足除5余4和除7余2条件的数的个数。 答案:12 15题: 编写程序,求四位数的奇数中,所有各位数字之积(且不为0)是60的倍数的数的和。 答案:3456254 16题: 编写程序,求出100到400之间同时满足除3余2和除5余3条件的数的和。 答案:5110 17题: 编写程序,求出100到200之间同时满足除3余2和除5余3条件的数的个数。 答案:6 18题: 所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求出100-900之间的所有回文数的个数。 答案:80 19题: 编写程序,已知:S=2+4+8+16+32+…,求S不大于2500的最大值。 答案:2046 20题: 有5羊4犬3鸡2兔值钱1496,4羊2犬6鸡3兔值钱1175,3羊1犬7鸡5兔值钱958,2羊3犬5鸡1兔值钱861,求鸡值多少钱? 答案:23

相关文档
相关文档 最新文档