c语言程序设计经典习题集
《C语言程序设计》练习题及答案
《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。
C语言程序设计习题试题集
阶,若每步跨 3 阶,则最后剩 2 阶, 若每步跨 5 阶,则最后剩 4 阶,若每步跨 6 阶则最后剩 5 阶,若每步跨 7 阶,最后才正好一阶不剩。请问,这条 阶梯共有 多少阶? 【4.45】一个自然数被 8 除余 1,所得的商被 8 除也余 1,再将第二次的商被 8 除后余 7,最后得到一个商为a。 又知这个自然数被 17 除余 4, 所得的商被 17 除余 15,最后得到一个商是a的 2 倍。编写程序求这个自然数。 【4.46】编写程序,用二分法求一元二次方程 2x3-4x2+3x-6=0 在(10,10)区 间的根。 【4.47】中国古代科学家祖冲之采用正多边形逼近的割圆法求出了π的值。请编 写一程序,采用 割圆法求出π的值,要求精确到小数点之后的第十位。 【4.48】A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不 堪,于是各自 找地方睡觉。日上三竿,A 第一个醒来,他将鱼分为五份,把多余的一 条鱼扔掉,拿走自己的一 份。B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉 ,拿走自己的一份。C、D、E 依次 醒来,也按同样的方法拿鱼。编写程序求出他们合 伙至少捕了多少条鱼。 【4.49】一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车 号,只记下车号 的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两 位数字是相同的;丙是位数 学家,他说:四位的车号刚好是一个整数的平方。请根据 以上线索求出车号。 12 【4.50】若一个口袋中放有 12 个球,其中有 3 个红的,3 个白的和 6 个黑的 ,每次从中任取 8 个球,编写程序求出共有多少种不同的颜色搭配。 【4.51】100 匹马驮 100 担货,大马一匹驮3担,中马一匹驮2担,小马两匹 驮1担。试编写程 序计算大、中、小马的数目。 【4.52】编写程序,输出用一元人民币兑换成 1 分、2 分和 5 分硬币的不同兑 换方法。 【4.53】显示 200 以内A、B、C) 【4.54】设 N 是一个四位数,它的 9 倍恰好是其反序数(例如:123 的反序数 是 321) ,求 N 的 值。 【4.55】将一个数的数码倒过来所得到的新数叫原数的反序数。如果一个数等于 它的反序数,则 称它为对称数。求不超过 1993 的最大的二进制的对称数。 【4.56】编写程序求解下式中各字母所代表的数字。 PEAR - ARA ── ───── PEA 【4.57】 一个自然数的七进制表达式是一个三位数, 而这个自然数的九进制表 示也是一个三位数, 且这两个三位数的数码顺序正好相反,求这个三位数。 【4.58】请验证 2000 以内的哥德巴赫猜想,对于任何大于 4 的偶数均可以分 解为两个素数之和。 【4.59】 如果一个正整数等于其各个数字的立方和, 则称该数为阿姆斯特朗数 (亦称为自恋性数) 。 如 407=43+03+73 就是一个阿姆斯特朗数。编写程序求 10 00 以内的所有阿姆斯特朗数。 【4.60】任意输入一个偶数,请将它分解为两个素数之和。 13 【4.61】如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数 B的全部因子 (包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求 3000 以内的全部亲密 数。 【4.62】猜数游戏。由计算机"想"一个数请人猜,如果人猜对了,则结束游戏, 否则计算机给 出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。计算机记 录人猜的次数,以此可 以反映出猜数者"猜"的水平。 【4.63】编写程序求出 1000!后有多少个零。 【4.64】求矩阵 A[2*3] 的转置矩阵 B[3*2]。设矩阵 A 为: ┏ 123 ┓ ┏ 1 4 ┓ A= ┃ ┃ B= ┃ 25 ┃ ┗ 456 ┛ ┗ 36 ┛
C语言程序设计习题集(可以很好的帮助语言的学习)
[1.3] 结构化程序由 种基本结构组成 。
2011-8-22
顺序
、
选择(分支) 选择(分支)
和
循环
三
4
第二章 C程序设计的初步知识
一、选择题
[2.1] 以下选项中正确的整型常量是 A) 12. B) -20 C) 1,000 [2.2] 以下选项中正确的实型常量是 A) 0 B) 3. 1415 C) 0.329*102 [2.3] 以下选项中不正确的实型常量是 A) 2.607E-1 B) 0.8103e 2 C) -77.77 。 D) 4 5 6 D).871 ) D) 456e-2
[2.10] 以下叙述中正确的是 A)在 程序中无论整数还是实数 程序中无论整数还是实数, A)在C程序中无论整数还是实数,只要在允许的范围内 都能准确无误的表示。 都能准确无误的表示。 B)C程序由主函数组成 程序由主函数组成。 B) 程序由主函数组成。 C)C程序由函数组成 程序由函数组成。 C) 程序由函数组成。 D)C程序由函数和过程组成 程序由函数和过程组成。 D) 程序由函数和过程组成。
2011-8-22 3
第一章 程序设计基本概念
[1.1] 在TURBO C环境中用 环境中用RUN命令运行一个 程序 命令运行一个C程序 环境中用 命令运行一个 时,所运行的程序的后缀是 .EXE 。 [1.2] C语言源程序文件的后缀是 ______, 经过编译 语言源程序文件的后缀是 .C , .OBJ ,经过连接后, 后, 生成文件的后缀是 ______,经过连接后, 生成文 件的后缀是______。 件的后缀是 .EXE 。
2011-8-22 7
[2.11] TURBO C中int 类型变量所占字节数是 中 A) 1 B) 2 C) 3 [2.12] 不合法的八进制数是 A) 0 B) 028 [2.13] 不合法的十六进制数是 A) oxff B) 0Xabc C) 077
C语言程序设计习题集(有答案)
高等教育自学考试C语言程序设计(二)课程代号(05772)同步练习题班级学号姓名二O 一六年三月目录第一章C语言概述第二章基本数据类型第三章控制结构第四章运算符和表达式第五章函数第六章数组第七章字符与字符串第八章变量类别与编译预处第九章指针第十章结构体、共用体和枚举类型第十一章文件第一章C语言概述一、单项选择题1.在计算机上可以直接运行的程序是()。
A.高级语言程序B.汇编语言程序C.机器语言程序D.C语言程序2. 一个C语言程序是由()A.若干函数组成B.若干过程组成C.若干主程序组成D.若干子程序组成3. C语言不具有的特点是()A.具有结构化的控制语句B.数据类型丰富C.语法限制不太严格,程序设计自由度大D.在可移植性上,C语言比其他语言差4. 以下叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个主函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面5. 以下叙述正确的是()A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别和执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,所以具有其他语言的一切优点二、填空1. 计算机语言的发展经过了、和等阶段。
2. C语言既适合编写,也适合编写应用软件。
标准答案一、单项选择题CADDC二、填空1. 机器语言,汇编语言,高级语言2. 系统软件第二章基本数据类型一、单项选择题1.正确的C语言用户自定义标识符是()A.printB.floatC.when?D.random%22.属于C语言基本数据类型的是( )A.指针型B.无符号整型C.数组型D.结构型3.C语言的长整型数值在计算机中占用的字节个数是( )A.1B.2C.3D.44.C语言中,″\x3d″在内存中占用的字节数是( )A.1B.2C.4D.55.下列关于C语言的叙述错误的是( )A. 英文字母大小写不加以区分B. 不同类型的变量可以出现在同一个表达式中C. 在赋值表达式中赋值号两边的类型可以不同D. 某些运算符在不同的场合可以有不同的含义6.下列转义字符中错误的是( )A. ′\000′B. ′\14′C. ′\x111′D. ′\2′7.下列标识符中,不是C语言保留字的是( )A. charB. whileC. minD. default8.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default9. 数据-324在二进制文件和文本文件中所占的字节数分别是()A.2,2B.2,4C.4,2D.4,410. 请选出可以作为C语言用户标识符的一组标识符()A.void, define, WORD B.A3_B3, _123, abcC.FOR, -abc, Case D.2a, Do, Sizeof11.下列运算符优先级最高的是()A.关系运算符B.赋值运算符C.算术运算符D.逻辑运算符12. sizeof(float)是()A.一种函数调用B.一个不合法的表示形式C.一个整型表达式D.一个浮点表达式13. 下列叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个main函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面14. 编译C语言程序时,程序中的注释部分将()A.不参加编译,也不会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.参加编译,并会出现在目标程序中15. 下列字符串常量不正确的是()A.'abc' B."12'12" C."0" D." "16. 下列4个选项中,均是合法整型常量的是()A.160 -0xffff 011B.-0xcdf 01ª0xeC.-01 986,012 0668D.-0x48a 2e5 0x17. 以下选项中不属于C语言类型的是()A.signed short int B.unsigned long intC.unsigned int D.long short18. 数值029是一个()A.八进制数B.十六进制数C.十进制数D.非法数19. 在C语言中,要求运算数必须是整型的运算符是()A./ B.++ C.!=D.%20. 当c的值不为0时,以下能将c的值赋给变量a,b 的是()A.c=b=a B.(a=c) || (b=c)C.(a=c) && (b=c) D.a=c=b二、填空1. 表示空类型的保留字是_____________。
(完整版)C语言程序设计练习题(含程序及参考答案)
(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint 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。
#includevoid 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中。
程序设计语言C_习题集(含答案)
《程序设计语言C》课程习题集一、单选题1.在C语言中,合法的长整型常数是A) OL B) 4962710 C) 324562& D) 216D2.以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD3.以下选项中合法的字符常量是A)"B" B) '\010' C) 68 D) D4.以下程序的输出结果是main(){ int a=3;printf("%d\n",a+(a-=a*a) );}A) -6 B)12 C) 0 D) -125.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为A) 0 B) 1 C)2 D) 36.t为int类型,进人下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对7.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是A) 地址传递B) 单向值传递C) 由实参传给形参,再由形参传回实参D) 传递方式由用户指定8.以下程序的输出结果是main(){ int i, a[10];for(i=9;i>=0;i- -) a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A) 258 B) 741 C) 852 D) 3699.以下选项中,不能正确赋值的是A) char s1[10];s1="Ctest"; B) char s2[]={'C', 't', 'e', 's', 't'};C) char s3[20]="Ctest"; D) char *s4="Ctest\n";10.以下程序的输出结果是union myun{ struct{ int x, y, z; } u;int k;} a;main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf("%d\n",a.u.x);}A)4 B) 5 C) 6 D) 011.以下叙述正确的是A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点12. C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构B) if、switch、breakC) for、while、do-while D) if、for、continue13.下列关于C语言用户标识符的叙述中正确的是A) 用户标识符中可以出现下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头14.有以下程序段int m=0,n=0; char c=’a’;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,015.有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);}}执行后输出的结果是A) 011122 B) 012 C) 012020 D) 12016.有以下程序main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出的结果是A) 9,2 B) 10,2 C) 9,1 D) 10,117.有以下程序void f(int x,int y){ int t;if(x<y){ t=x; x=y; y=t; }}main(){ int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf("%d,%d,%d\n",a,b,c);}执行后输出的结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,518.有以下程序main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是A) n,two B) t,one C) w,one D) o,two19.有以下程序main(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,k=2;for(i=0;i<3;i++){ printf("%d ",m[k][i]); }}执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 920.设有如下说明typedef struct{ int n; char c; double x;}STD;则以下选项中,能正确定义结构体数组并赋初值的语句是A) STD tt[2]={{1,’A’,62},{2,’B’,75}};B) STD tt[2]={1,"A",62,2,"",75};C) struct tt[2]={{1,’A’},{2,’B’}};D) struct tt[2]={{1,"A",62.5},{2,"B",75.0}};21.以下选项中属于C语言的数据类型是A)复数型B)布尔型C)集合型D)整型22.一个C程序的执行是从A)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束23.设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是A)3 B)0C)-12 D)924.若有 char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是A)cd\0e B)'c''d' C)cd D)cd e25.已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;下列表达式不是4的是A)*(*p+3) B)*p+3 C)*(*(p+0)+3) D)a[0][3]26.以下有宏替换不正确的叙述A)宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符串替换D)宏名必须用大写字母表示27.执行char str[10]=”Ch\nina”; strlen(str)的值是A)5 B)6 C)7 D)928.下面程序的输出结果是#define POWER(x) (x*x)main(){int i=4; printf("%d",POWER(i-2)); }A)-9 B)-7 C)5 D)-629.在定义int a[3][4];后,第10个元素是A)a[2][4] B)a[3][2] C)a[3][3] D)a[3][1]30.下面程序的输出结果是typedef struct{long x[2];short y[4];char z[8];}MYTYPE;MYTYPE a;main(){ printf("%d\n",sizeof(a));}A)2 B)8 C)14 D)2431.以下能正确进行字符串赋值的是A)char s[5]={‘a’,’e’,’I’,’o’,’u’} B)char s[5];s=”good”C)char s[5]=”abcd” D)char s[5];s[]=”good”32.若有float x;则sizeof(x)和sizeof(float)两种描述A)都正确B)都不正确C)前者正确,后者不正确D)后者正确,前者不正确33.若有代数式3ae/(bc),则不正确的C语言表达式是A)3*a*e/b*c B)3*a*e/b/c C)a/b/c*e*3 D)a*e/c/b*334.下面程序的运行结果是Main( ){struct cmplx{ int x;int y;}cnum[2]={1,3,2,7};Printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x);}A)0 B)1 C)3 D)635.若有以下说明和语句,且0<=i<10,则()是对数组元素的错误引用int a[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;A)*(a+i) B)a[p-a] C)p+i D)*(&a[i])36.设有以下宏定义:#define M 2#define X(m) ((M+2)*m)则执行语句:z=2*(M+X(3+2));后,z的值为A)44 B)45 C)32 D)3337.在如下程序段中的while循环int k=0;While(k=1) k++;A)有语法错,不能执行B)无限循环C)一次都不执行D)执行一次38.下列程序运行的结果为#include<stdio.h>Main(){ int k=0;Char c=’A’;Do{switch(c++){ case ‘A’:k++;break;Case ‘B’:k- -;break;Case ‘C’:k+=2;break;Case ‘D’:k=k%2;break;Case ‘E’:k=k*10;break;Default:k=k/3;}K++;}while(c<’G’);Printf(“k=%d”,k);}A)k=4 B)k=6 C)k=7 D)k=839.下列程序运行的结果为#include<stdio.h>fun(int x,int y,int *cp,int *dp){*cp=x+y;*dp=x-y;}main(){ int a,b,c,d ;a=30 ;b=50;fun(a,b,&c,&d);printf(“%d,%d\n”,c,d);}A)50,30 B)30,50 C)80,-20 D)80,2040.阅读程序回答问题:main( ){ int i,j,k,m=0;for(i=1;i<4;i++)for(j=1;j<4;j++)for(k=1;k<4;k++)m++;printf(“M=%d”,m);}以上程序输出M=( ).A)3 B)6 C)9 D)2741.能将高级语言编写的源程序转换为目标程序的是A)链接程序B)解释程序C)编译程序D)编辑程序42.以下4组用户定义标识符中,全部合法的一组是A)main B)If C)txt D)intenclude -max REAL k_2sin turbo 3COM _00143.设有以下定义int a=0;double b=1.25;char c=’A’;#define d 2则下面语句中错误的是()A)a++ B)b++ C)c++ D)d++;44.以下4个选项中,不能看作一条语句的是A){;} B)a=0,b=0,c=0 C)if(a>0) D)if(b==0) m=1;n=2;45.有以下程序main( ){ char k; int i;for(i=1;i<3;i++){ scanf("%c",&k);switch(k){ case '0': printf("another\n");case '1': printf("number\n");}}}程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是A)another B)another C)another D)numbernumber number number numberanother number46.有以下程序void f(int v , int w){ int t;t=v;v=w;w=t;}main( ){ int x=1,y=3,z=2;if(x>y) f(x,y);else if(y>z) f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}执行后输出结果是A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,147.有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是A)5 B)6 C)8 D)948.有以下程序#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2);printf("%d\n",i);}执行后输出结果是A)28 B)22 C)16 D)449.设有以下语句typedef struct S{ int g; char h;}T;则下面叙述中正确的是A)可用S定义结构体变量B)可以用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量50.有以下程序int a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是A)10 B)9 C)7 D)851.组成C程序的基本单位是A)函数B)标识符C)表达式D)语句52.设int类型的数据长度为2字节,则该类型数据的取值范围A)0至65536 B)0至65535 C)-32767至32768 D)-32768至3276753.在C语言中,逻辑值“真”是用( )表示的。
c语言程序设计第一章试题及答案
c语言程序设计第一章试题及答案一、选择题(每题2分,共10分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _123abcB. intC. forD. myVar答案:C3. 在C语言中,用于声明一个整型变量的关键字是:A. intB. floatC. charD. double答案:A4. 下列哪个选项是C语言中的控制语句?A. printfB. scanfC. ifD. return答案:C5. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D二、填空题(每题2分,共10分)1. C语言中,用于输入一个整数的函数是________。
答案:scanf2. 在C语言中,定义一个数组时,数组的下标从________开始。
答案:03. C语言中,用于输出一个浮点数的函数是________。
答案:printf4. C语言中,用于定义一个字符型变量的关键字是________。
答案:char5. C语言中,用于定义一个布尔型变量的关键字是________。
答案:_Bool 或 bool(根据标准不同)三、简答题(每题5分,共20分)1. 请简述C语言中变量的作用域有哪些?答案:变量的作用域主要有局部作用域和全局作用域。
局部作用域通常用于函数内部,变量只在该函数中有效;全局作用域用于函数外部,变量在整个程序中都有效。
2. 解释C语言中的指针是什么?答案:指针是一种特殊的变量,它存储了另一个变量的内存地址。
通过指针,程序可以间接访问和操作内存中的数据。
3. 什么是C语言中的函数原型?答案:函数原型是指函数的声明,它提供了函数的返回类型、函数名、参数类型和数量等信息,但不包含函数的具体实现。
4. 在C语言中,如何定义一个结构体?答案:定义一个结构体需要使用关键字`struct`,后跟结构体的名称,然后是一对花括号,其中包含了结构体成员的声明。
C语言程序设计_习题大全(含答案)
C语言程序设计_习题大全(含答案) C语言程序设计_习题大全(含答案)C语言程序设计是计算机科学与技术领域中非常重要的一门课程,对于学习和掌握程序设计的基本原理和方法具有重要意义。
在学习这门课程过程中,习题的练习和掌握是至关重要的一环。
本文将向大家介绍一份包含答案的C语言程序设计习题大全,帮助读者拓宽思路,加深对C语言程序设计的理解。
第一章:基础知识练习习题1:请编写一个C程序,输出"Hello, World!"。
答案:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```习题2:请编写一个C程序,将两个整数相加并输出结果。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("%d + %d = %d\n", num1, num2, sum);return 0;}```第二章:条件语句练习习题3:请编写一个C程序,判断某年份是否为闰年。
答案:```c#include <stdio.h>int main() {int year;printf("请输入年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d年是闰年\n", year);} else {printf("%d年不是闰年\n", year);}return 0;}```习题4:请编写一个C程序,判断用户输入的整数是否为正数、负数或者零。
C语言(编程)设计习题集
5.1 利用条件运算符的嵌套来完成此题: 学习成绩>=90分的同学用A表示,60-89分 之间的用B表示,60分以下的用C表示。
#include “stdio.h” int main() { int score; char c1=‘A’,c2=‘B’,c3=‘C’; printf(“Please input score:\n”); scanf(“%d”,&score); printf(“%c\n”,score>=90?c1(score>=60?c2:c3)); return 0; }
5.2 编程输出九九口诀。
#include “stdio.h” int mian() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf(“%4d”,i*j); } printf(“\n”); } return 0; }
5.3 编程实现以下功能:读入两个操作 数(data1和data2)及一个运算符 (op),计算表达式data1 op data2 的值,其中op可以是+、-、*、/(分别用 if语句和switch语句加以实现)。
4.2 输入一个华氏温度,要求输出摄氏温 度,公式为c=5/9(F-32),输出要有文字说 明,取两位小数。
#include “stdio.h” int main() { float c,f; printf(“Please input c:\n”); scanf(“%f”,&f); c=5.0/9.0*(f-32); printf(“%.2f\n”,c); return 0; }
2.4 打印出1-500之间的素数。
#include “stdio.h” int main() { int n,k,i,t; for(n=1;n<=500;n+=2) { k=(int)sqrt(1.0*n) for(i=2;i<=k;i++) if(n%i==0)break; if(i>=k+1) printf(“%3d\n”); return 0; }
c语言经典题目100题
1.寻找数组中的最大值和最小值2.寻找数组中的中位数3.查找数组中给定元素的索引4.反转数组5.合并两个升序数组6.移位数组7.查找两个数组的交集8.查找两个数组的并集9.查找两个数组的差集10.寻找数组中的众数11.寻找数组中的缺失元素12.寻找数组中的重复元素13.计算数组的和14.计算数组的平均值15.计算数组的方差16.计算数组的标准差17.比较两个数组是否相等18.复制数组19.排序数组20.搜索数组(线性搜索)21.搜索数组(二分搜索)22.插入元素到数组23.删除元素到数组24.更新数组中的元素25.创建动态数组26.释放动态数组27.字符串复制28.字符串连接29.字符串比较30.字符串搜索31.字符串替换32.字符串分割33.字符串反转34.字符串大小写转换35.字符串修剪36.计算字符串长度37.字符串格式化38.链表创建39.链表插入40.链表删除41.链表搜索42.链表反转43.链表排序44.链表合并45.链表复制46.链表释放47.树创建48.树插入49.树删除50.树搜索51.树反转52.树排序53.树合并54.树复制55.树释放56.堆创建57.堆插入58.堆删除59.堆搜索60.堆反转61.堆排序62.堆合并63.堆复制64.堆释放65.图创建66.图插入67.图删除68.图搜索69.图反转70.图排序71.图合并72.图复制73.图释放74.队列创建75.队列插入76.队列删除77.队列搜索78.队列反转79.队列排序80.队列合并81.队列复制82.队列释放83.栈创建84.栈插入85.栈删除86.栈搜索87.栈反转88.栈排序89.栈合并90.栈复制91.栈释放92.哈希表创建93.哈希表插入94.哈希表删除95.哈希表搜索96.哈希表反转97.哈希表排序98.哈希表合并99.哈希表复制100.哈希表释放。
C程序设计第1-4章习题集
习题(第1-4章)一.选择题1.以下叙述正确的是()。
A.C语言的源程序不必通过编译就可以直接运行。
B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C.C语言源程序经编译形成的二进制代码可以直接运行。
D.C语言中的函数不可以单独进行编译。
2.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。
A.有0个或多个输入。
B.有0个或多个输出。
C.有穷性。
D.可行性。
3.以下叙述中正确的是()。
A.C语言比其它语言高级。
B.C语言可以不用编译就能被计算机识别执行。
C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。
D.C语言出现的,具有其它语言的一切优点。
4.C语言中用于结构化程序设计的3种基本结构是()。
A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、for、continue5.为解决某一特定问题而设计的指令序列称为()。
A.文档B. 语言C. 程序D. 系统6.用高级程序设计语言编写的程序称为()。
A.目标程序B. 可执行程序C. 源程序D. 伪代码7.能将高级语言编写的源程序转换成目标程序的是()。
A.编辑程序B. 编译程序C. 驱动程序D. 链接程序8.下列叙述中,正确一条是()。
A.计算机语言中,只有机器语言属于低级语言。
B.高级语言源程序可以被计算机直接执行。
C.C、C语言属于高级语言。
D.机器语言是所用机器无关的。
9.一个C程序的执行是从()。
A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束10.以下叙述正确的是()。
A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误11.以下叙述不正确的是()。
C语言程序设计习题集及参考答案
C语言程序设计习题集及参考答案C语言程序设计习题集及参考答案一、简介C语言是一种广泛使用的程序设计语言,它具有高效、灵活和易于维护的特点。
在学习C语言的过程中,通过练习题的方式可以帮助我们加深对语言的理解和应用。
本文将提供一些C语言的练习题,并给出参考答案,以帮助读者巩固所学知识。
二、习题集1、选择题(1) C语言中的基本数据类型包括哪些? A. int, float, char B. int, float, double C. char, float, double D. int, float, boolean (2) 下列哪个标识符是合法的C语言变量名? A. 123 B. _abc C. ab-c D. a bc(3) 下面哪个运算符的优先级最高? A. + B. && C. ++ D. !2、填空题(1) 在C语言中,整数的默认存储类型是____________。
(2) 写出计算a和b的最大值的表达式:max = a ______ b; (3) 写出判断一个数是否为偶数的表达式:num % ______ == 0。
3、编程题(1) 编写一个程序,输出1到10之间的所有奇数和偶数。
(2) 编写一个程序,判断一个整数是否为素数。
如果是素数,输出"Yes",否则输出"No"。
(3) 编写一个程序,输入一个字符串,然后将字符串中的所有字母转换为大写。
三、参考答案1、选择题(1) C语言中的基本数据类型包括int、float和char,因此答案为A。
(2) 在C语言中,合法的标识符不能以数字开头,不能包含特殊字符和空格,因此选项A和C是错误的。
选项B中使用下划线作为变量名的一部分是合法的,因此是正确的选项。
选项D中的a和bc之间没有分隔符,不符合标识符的命名规则,因此也是错误的。
因此,答案为B。
(3) 在C语言中,运算符的优先级从高到低依次为:()、[]、.&、!、++、--、~、* &、+ -、% 、/ %、<< >>、< > <= >= 、== !=、& ^ |、&& ||以及所有的逻辑运算符。
《C语言程序设计基础》习题集(含答案)
《C语言程序设计基础》习题集(含答案)《C语言程序设计基础》习题集(含答案)C语言是一门广泛应用于计算机科学领域的高级编程语言。
对于初学者而言,通过习题集的形式来学习C语言程序设计基础是一种有效的方法。
本文将为大家介绍一份包含答案的C语言程序设计习题集,通过解答这些习题,读者能够提升自己的C语言编程能力。
1. 数据类型与变量(1) 编写一个程序,要求输入一个字符,然后输出其ASCII码和对应的字符。
```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);printf("字符 %c 的ASCII码是:%d\n", ch, ch);return 0;}```(2) 编写一个程序,输入长方形的长度和宽度,计算并输出长方形的面积和周长。
```c#include <stdio.h>int main() {int length, width;printf("请输入长方形的长度:");scanf("%d", &length);printf("请输入长方形的宽度:");scanf("%d", &width);int area = length * width;int perimeter = 2 * (length + width);printf("长方形的面积为:%d\n", area);printf("长方形的周长为:%d\n", perimeter);return 0;}```2. 控制结构(1) 编写一个程序,判断输入的一个整数是否为奇数。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d 是偶数。
(完整版)C语言程序设计习题集及答案
C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
C语言编程练习题绝对经典
马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人解方程组编写程序,采用穷举法求出结果;编写程序,根据以下公式求e 的值;要求用两种方法计算:1for 循环,计算前50项 2while 循环,直至最后一项的值小于10-4从键盘中输入一个数字不限位数,用循环语句编程判断并输出这个数字的位数;猴子吃桃子问题;猴子第一天摘下若干个桃,当即只一半,又多吃一个;第二天早上又将剩下的一半吃掉一半,双多吃一个;以后每天早上都吃了前天剩下的一半零一个,到第10天早上只剩下最后一个桃;问第一天摘了几个桃;编程打印九九乘法表青年歌手参加歌曲大奖赛,有10个评委打分,试编程求选手的平均得分去掉一个最高分和一个最低分;从键盘中输入一个数字可以包含小数点,其位数在60位以下,求其整数的有效位数,如输入0123.456,返回值为整数有效位数为31输入数据为浮点型,不用数组,不用字符串,只有变量的算术运算实现此功能;2使用数组来进行编程;使用数组,编写一个十进制正整数转换为任意进制数的转换工具;大进制向小进制的转换;方法是相除去余10进制327转八进制:327/8=40余数为740/8=5余数为0于是八进制数为507第一位5是最后的商使用数组,编写一个任意进制正整数转换为十进制的转换工具;以2,10进制互转为例,其他请举一反三:二进制数1101转十进制:1×2的三次幂+1×2的二次幂+0×2的一次幂+1×2的零次幂=8+4+0+1=1310个小孩围成一圈分糖果,老师顺次分给每个人的糖块数为12,2,8,22,16,4,10,6,14,20;然后按下列规则调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖块数变为奇数的人,再向老师补要一块,问经过多少次调整后,大家的糖块一样多,且每人多少块;编写一个函数,用以求x2-5x+4的值,x 做为函数的形参,调用此函数,求:y1=22-5×2+4Y2=x+152-5x+15+4Y3=sinx2-5sinx+4sinx 可以加载”math.h ”库函数后使用,函数说明为 doublesindoublex编写一个函数,使给定的一个二维数组N ×N 行列互换N>3;从键盘中输入一个不超过40个字符的字符串,再输入一个位数,删除对应位数的字符,然后输出删除指定字符后的字符串11111111!2!3!4!5!!e n ≈++++++⋅⋅⋅⋅⋅⋅+要求:1用puts输出指示信息2用gets接收字符串如果有一个正整数从左、右来读都是一样的,则称为回文式数简称回数;比如101,32123,999都是回数;数学中有名的“回数猜想”之迷,至今未解决;回数猜想:任取一个数,再把它倒过来,并把这两个数相加,然后把这个和数再倒过来,与原和数相加,重复此过程,一定能获得一个回数;例:68倒过来是8668+86=154154+541=605605+506=1111回数编程,输入任意整数,按上述方法产生一个回数,为简便起见,最多计算7步,看是否能得到一个回数; 要求:主函数中接收键盘数据,必须用scanf“%ld”,&变量名接收整型变量,显示该数与其倒数的和,输出每一步计算步骤;子函数1,计算该数的倒数;子函数2,验证和是否为回数,是则主函数打印“经过n次计算,得到回数”,超过7次未能得到回数,显示,“经过n次计算,未得到回数”求Sn=a+aa+aaa+------+aaaaaaan个a,其中a和n都从键盘中输入,如从键盘中输入2,5,则计算S5=2+22+222+2222+22222;include"stdio.h"voidmain{inta,n,i=1;longs=0,t=0;printf"a=";scanf"%d",&a;printf"n=";scanf"%d",&n;whilei<=n{t=t+a;s=s+t;a=a10;++i;}printf"sum=%d",s;}两个乒乓球队进行比赛,各出三人;甲队为A,B,C三人,乙队为X,Y,Z三人;已抽签决定比赛名单,有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,编程找出三对选手的对手名单;注:使用穷举法include"stdio.h"intmain{inti,j,k;fori=1;i<=3;++i{forj=1;j<=3;++j{fork=1;k<=3;++k{ifi==j||j==k||i==kcontinue;ifi=1&&k=1&&k=3{printf"Avs%c\n",i+'X'-1;printf"Bvs%c\n",j+'X'-1;printf"Cvs%c\n",k+'X'-1;return0;}}}}return0;}编写一个函数,函数说明为:charlastcharcharstr功能:求一个字符串的最后一个字符,如果是空串,则返回空字符;再利用该函数编程,输入两个字符串,输出第一字符串的最后一个字符和第二个字符串的最后一个字符;韩信点兵;韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10;编程求韩信至少有多少兵include"stdio.h"voidmain{inti;fori=1;;i++{ifi%5==1&&i%6==5&&i%7==4&&i%11==10{printf"%d",i;break;}}}用递归方法计算下列函数的值:fxx,n=x-x2+x3-x4+......-1n-1xnn>0要求:1写出递归函数的原型2编写程序4用递归法将一个整数转换成字符形式输出;例如输入483,应输出字符串“483”;其程序如下,请验证,并修改程序,增加显示出输入数字的位数的功能,并使输出结果与下图一致; voidconvertlongn{longi;ifi=n/10=0converti;putcharn%10+'0';}main{longnumber;scanf"%ld",&number;ifnumber<0{putchar'-';number=-number;}convertnumber;}利用以下公式,编程计算π的值,直到最后一项的绝对值用函数fabs小于0.0001为止;程序1题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数都是多少1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4;组成所有的排列后再去掉不满足条件的排列;2.程序源代码:include"stdio.h"include"conio.h"main{inti,j,k;printf"\n";fori=1;i<5;i++/以下为三重循环/forj=1;j<5;j++fork=1;k<5;k++{ifi=k&&i=j&&j=k/确保i、j、k三位互不相同/printf"%d,%d,%d\n",i,j,k;}getch;}===========================================程序2题目:企业发放的奖金根据利润提成;利润I低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数1.程序分析:请利用数轴来分界,定位;注意定义时需把奖金定义成长整型;2.程序源代码:include"stdio.h"include"conio.h"main{longinti;intbonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf"%ld",&i;bonus1=1000000.1;bonus2=bonus1+1000000.75;bonus4=bonus2+2000000.5;bonus6=bonus4+2000000.3;bonus10=bonus6+4000000.15;ifi<=100000bonus=i0.1;elseifi<=200000bonus=bonus1+i-1000000.075;elseifi<=400000bonus=bonus2+i-2000000.05;elseifi<=600000bonus=bonus4+i-4000000.03;elseifi<=1000000bonus=bonus6+i-6000000.015;elsebonus=bonus10+i-10000000.01;printf"bonus=%d",bonus;getch;}===========================================程序3题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果;请看具体分析:2.程序源代码:include"math.h"include"stdio.h"include"conio.h"main{longinti,x,y,z;fori=1;i<100000;i++{x=sqrti+100;/x为加上100后开方后的结果/y=sqrti+268;/y为再加上168后开方后的结果/ifxx==i+100&&yy==i+268/如果一个数的平方根的平方等于该数,这说明此数是完全平方数/ printf"\n%ld\n",i;}getch;}===========================================程序4题目:输入某年某月某日,判断这一天是这一年的第几天1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天;2.程序源代码:include"stdio.h"include"conio.h"main{intday,month,year,sum,leap;printf"\npleaseinputyear,month,day\n";scanf"%d,%d,%d",&year,&month,&day;switchmonth/先计算某月以前月份的总天数/{case1:sum=0;break;case2:sum=31;break;case3:sum=59;break;case4:sum=90;break;case5:sum=120;break;case6:sum=151;break;case7:sum=181;break;case8:sum=212;break;case9:sum=243;break;case10:sum=273;break;case11:sum=304;break;case12:sum=334;break;default:printf"dataerror";break;}sum=sum+day;/再加上某天的天数/ifyear%400==0||year%4==0&&year%100=0/判断是不是闰年/leap=1;elseleap=0;ifleap==1&&month>2/如果是闰年且月份大于2,总天数应该加一天/sum++;printf"Itisthe%dthday.",sum;getch;}===========================================程序5题目:输入三个整数x,y,z,请把这三个数由小到大输出;1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小;2.程序源代码:include"stdio.h"include"conio.h"main{intx,y,z,t;scanf"%d%d%d",&x,&y,&z;ifx>y{t=x;x=y;y=t;}/交换x,y的值/ifx>z{t=z;z=x;x=t;}/交换x,z的值/ify>z{t=y;y=z;z=t;}/交换z,y的值/printf"smalltobig:%d%d%d\n",x,y,z;getch;}===========================================程序6题目:用号输出字母C的图案;1.程序分析:可先用''号在纸上写出字母C,再分行输出;2.程序源代码:include"stdio.h"include"conio.h"main{printf"HelloC-world\n";printf"\n";printf"\n";printf"\n";printf"\n";getch;}===========================================程序7题目:输出特殊图案,请在c环境中运行,看一看,VeryBeautiful1.程序分析:字符共有256个;不同字符,图形不一样;2.程序源代码:include"stdio.h"include"conio.h"main{chara=176,b=219;printf"%c%c%c%c%c\n",b,a,a,a,b;printf"%c%c%c%c%c\n",a,b,a,b,a;printf"%c%c%c%c%c\n",a,a,b,a,a;printf"%c%c%c%c%c\n",a,b,a,b,a;printf"%c%c%c%c%c\n",b,a,a,a,b;getch;}============================================================== 程序8题目:输出99口诀;1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列;2.程序源代码:include"stdio.h"include"conio.h"main{inti,j,result;printf"\n";fori=1;i<10;i++{forj=1;j<10;j++{result=ij;printf"%d%d=%-3d",i,j,result;/-3d表示左对齐,占3位/}printf"\n";/每一行后换行/}getch;}===========================================程序9题目:要求输出国际象棋棋盘;1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格;2.程序源代码:include"stdio.h"include"conio.h"main{inti,j;fori=0;i<8;i++{forj=0;j<8;j++ifi+j%2==0printf"%c%c",219,219;elseprintf"";printf"\n";}getch;}==============================================================程序10题目:打印楼梯,同时在楼梯上方打印两个笑脸;1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数;2.程序源代码:include"stdio.h"include"conio.h"main{inti,j;printf"\1\1\n";/输出两个笑脸/fori=1;i<11;i++{forj=1;j<=i;j++printf"%c%c",219,219;printf"\n";}getch;}.:.:经典c程序100例==11--20:.:.经典c程序100例==11--20程序11题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码:include"stdio.h"include"conio.h"main{longf1,f2;inti;f1=f2=1;fori=1;i<=20;i++{printf"%12ld%12ld",f1,f2;ifi%2==0printf"\n";/控制输出,每行四个/f1=f1+f2;/前两个月加起来赋值给第三个月/f2=f1+f2;/前两个月加起来赋值给第三个月/}getch;}==============================================================程序12题目:判断101-200之间有多少个素数,并输出所有素数;1.程序分析:判断素数的方法:用一个数分别去除2到sqrt这个数,如果能被整除,则表明此数不是素数,反之是素数;2.程序源代码:include"stdio.h"include"conio.h"include"math.h"main{intm,i,k,h=0,leap=1;printf"\n";form=101;m<=200;m++{k=sqrtm+1;fori=2;i<=k;i++ifm%i==0{leap=0;break;}ifleap{printf"%-4d",m;h++;ifh%10==0printf"\n";}leap=1;}printf"\nThetotalis%d",h;getch;}===========================================程序13题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身;例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方;1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位;2.程序源代码:include"stdio.h"include"conio.h"main{inti,j,k,n;printf"'waterflower'numberis:";forn=100;n<1000;n++{i=n/100;/分解出百位/j=n/10%10;/分解出十位/k=n%10;/分解出个位/ifi100+j10+k==iii+jjj+kkkprintf"%-5d",n;}getch;}===========================================程序14题目:将一个正整数分解质因数;例如:输入90,打印出90=2335;程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:1如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可;2如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步;3如果n不能被k整除,则用k+1作为k的值,重复执行第一步;2.程序源代码:/zhengintisdividedyinshu/include"stdio.h"include"conio.h"main{intn,i;printf"\npleaseinputanumber:\n";scanf"%d",&n;printf"%d=",n;fori=2;i<=n;i++whilen=i{ifn%i==0{printf"%d",i;n=n/i;}elsebreak;}printf"%d",n;getch;}===========================================程序15题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B 表示,60分以下的用C表示;1.程序分析:a>ba:b这是条件运算符的基本例子;2.程序源代码:include"stdio.h"include"conio.h"main{intscore;chargrade;printf"pleaseinputascore\n";scanf"%d",&score;grade=score>=90'A':score>=60'B':'C';printf"%dbelongsto%c",score,grade;getch;}===========================================程序16题目:输入两个正整数m和n,求其最大公约数和最小公倍数;1.程序分析:利用辗除法;2.程序源代码:include"stdio.h"include"conio.h"main{inta,b,num1,num2,temp;printf"pleaseinputtwonumbers:\n";scanf"%d,%d",&num1,&num2;ifnum1<num2/交换两个数,使大数放在num1上/{temp=num1;num1=num2;num2=temp;}a=num1;b=num2;whileb=0/利用辗除法,直到b为0为止/{temp=a%b;a=b;b=temp;}printf"gongyueshu:%d\n",a;printf"gongbeishu:%d\n",num1num2/a;getch;}===========================================程序17题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数;1.程序分析:利用while语句,条件为输入的字符不为'\n'.2.程序源代码:include"stdio.h"include"conio.h"main{charc;intletters=0,space=0,digit=0,others=0;printf"pleaseinputsomecharacters\n";whilec=getchar='\n'{ifc>='a'&&c<='z'||c>='A'&&c<='Z'letters++;elseifc==''space++;elseifc>='0'&&c<='9'digit++;elseothers++;}printf"allinall:char=%dspace=%ddigit=%dothers=%d\n",letters,space,digit,others;getch;}===========================================程序18题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字;例如2+22+222+2222+22222此时共有5个数相加,几个数相加有键盘控制;1.程序分析:关键是计算出每一项的值;2.程序源代码:include"stdio.h"include"conio.h"main{inta,n,count=1;longintsn=0,tn=0;printf"pleaseinputaandn\n";scanf"%d,%d",&a,&n;printf"a=%d,n=%d\n",a,n;whilecount<=n{tn=tn+a;sn=sn+tn;a=a10;++count;}printf"a+aa+...=%ld\n",sn;getch;}==============================================================程序19题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”;例如6=1+2+3.编程找出1000以内的所有完数;1.程序分析:请参照程序<--上页程序14.2.程序源代码:include"stdio.h"include"conio.h"main{staticintk10;inti,j,n,s;forj=2;j<1000;j++{n=-1;s=j;fori=1;i<j;i++{ifj%i==0{n++;s=s-i;kn=i;}}ifs==0{printf"%disawanshu",j;fori=0;i<n;i++printf"%d,",ki;printf"%d\n",kn;}}getch;}==============================================================程序20题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米第10次反弹多高1.程序分析:见下面注释2.程序源代码:include"stdio.h"include"stdio.h"main{floatsn=100.0,hn=sn/2;intn;forn=2;n<=10;n++{sn=sn+2hn;/第n次落地时共经过的米数/hn=hn/2;/第n次反跳高度/}printf"thetotalofroadis%f\n",sn;printf"thetenthis%fmeter\n",hn;getch;}.:.:经典c程序100例==21--30:.:.经典c程序100例==21--30程序21题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个;以后每天早上都吃了前一天剩下的一半零一个;到第10天早上想再吃时,见只剩下一个桃子了;求第一天共摘了多少;1.程序分析:采取逆向思维的方法,从后往前推断;2.程序源代码:include"stdio.h"include"conio.h"main{intday,x1,x2;day=9;x2=1;whileday>0{x1=x2+12;/第一天的桃子数是第2天桃子数加1后的2倍/x2=x1;day--;}printf"thetotalis%d\n",x1;getch;}===========================================程序22题目:两个乒乓球队进行比赛,各出三人;甲队为a,b,c三人,乙队为x,y,z三人;已抽签决定比赛名单;有人向队员打听比赛的名单;a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单;1.程序分析:判断素数的方法:用一个数分别去除2到sqrt这个数,如果能被整除,则表明此数不是素数,反之是素数;2.程序源代码:include"stdio.h"include"conio.h"main{chari,j,k;/i是a的对手,j是b的对手,k是c的对手/fori='x';i<='z';i++forj='x';j<='z';j++{ifi=jfork='x';k<='z';k++{ifi=k&&j=k{ifi='x'&&k='x'&&k='z'printf"orderisa--%c\tb--%c\tc--%c\n",i,j,k;}}}getch;}===========================================程序23题目:打印出如下图案菱形1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列;2.程序源代码:include"stdio.h"include"conio.h"main{inti,j,k;fori=0;i<=3;i++{forj=0;j<=2-i;j++printf"";fork=0;k<=2i;k++printf"";printf"\n";}fori=0;i<=2;i++{forj=0;j<=i;j++printf"";fork=0;k<=4-2i;k++printf"";printf"\n";}getch;}===========================================程序24题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和;1.程序分析:请抓住分子与分母的变化规律;2.程序源代码:include"stdio.h"include"conio.h"mainintn,t,number=20;floata=2,b=1,s=0;forn=1;n<=number;n++{s=s+a/b;t=a;a=a+b;b=t;/这部分是程序的关键,请读者猜猜t的作用/ }printf"sumis%9.6f\n",s;getch;}===========================================程序25题目:求1+2+3+...+20的和1.程序分析:此程序只是把累加变成了累乘;2.程序源代码:include"stdio.h"include"conio.h"main{floatn,s=0,t=1;forn=1;n<=20;n++{t=n;s+=t;}printf"1+2+3...+20=%e\n",s;getch;}===========================================程序26题目:利用递归方法求5;1.程序分析:递归公式:fn=fn_142.程序源代码:include"stdio.h"include"conio.h"main{inti;intfact;fori=0;i<5;i++printf"\40:%d=%d\n",i,facti;getch;}intfactjintj;{intsum;ifj==0sum=1;elsesum=jfactj-1;returnsum;}===========================================程序27题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来;1.程序分析:2.程序源代码:include"stdio.h"include"conio.h"main{inti=5;voidpalinintn;printf"\40:";palini;printf"\n";getch;}voidpalinnintn;{charnext;ifn<=1{next=getchar;printf"\n\0:";putcharnext;}else{next=getchar;palinn-1;putcharnext;}}===========================================程序28题目:有5个人坐在一起,问第五个人多少岁他说比第4个人大2岁;问第4个人岁数,他说比第3个人大2岁;问第三个人,又说比第2人大两岁;问第2个人,说比第一个人大两岁;最后问第一个人,他说是10岁;请问第五个人多大1.程序分析:利用递归的方法,递归分为回推和递推两个阶段;要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人10岁,再往回推;2.程序源代码:include"stdio.h"include"conio.h"agenintn;{intc;ifn==1c=10;elsec=agen-1+2;returnc;}main{printf"%d",age5;getch;}===========================================程序29题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字;1.程序分析:学会分解出每一位数,如下解释:这里是一种简单的算法,师专数002班赵鑫提供2.程序源代码:include"stdio.h"include"conio.h"main{longa,b,c,d,e,x;scanf"%ld",&x;a=x/10000;/分解出万位/b=x%10000/1000;/分解出千位/c=x%1000/100;/分解出百位/d=x%100/10;/分解出十位/e=x%10;/分解出个位/ifa=0printf"thereare5,%ld%ld%ld%ld%ld\n",e,d,c,b,a;elseifb=0printf"thereare4,%ld%ld%ld%ld\n",e,d,c,b;elseifc=0printf"thereare3,%ld%ld%ld\n",e,d,c;elseifd=0printf"thereare2,%ld%ld\n",e,d;elseife=0printf"thereare1,%ld\n",e;getch;}===========================================程序30题目:一个5位数,判断它是不是回文数;即12321是回文数,个位与万位相同,十位与千位相同;1.程序分析:同29例2.程序源代码:include"stdio.h"include"conio.h"main{longge,shi,qian,wan,x;scanf"%ld",&x;wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;ifge==wan&&shi==qian/个位等于万位并且十位等于千位/printf"thisnumberisahuiwen\n";elseprintf"thisnumberisnotahuiwen\n";getch;}.:.:经典c程序100例==31--40:.:.经典c程序100例==31--40程序31题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母;1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母;2.程序源代码:include"stdio.h"include"conio.h"voidmain{charletter; printf"pleaseinputthefirstletterofsomeday\n"; whileletter=getch='Y'/当所按字母为Y时才结束/ {switchletter{case'S':printf"pleaseinputsecondletter\n"; ifletter=getch=='a'printf"saturday\n";elseifletter=getch=='u'printf"sunday\n";elseprintf"dataerror\n";break;case'F':printf"friday\n";break;case'M':printf"monday\n";break;case'T':printf"pleaseinputsecondletter\n"; ifletter=getch=='u'printf"tuesday\n";elseifletter=getch=='h'printf"thursday\n";elseprintf"dataerror\n";break;case'W':printf"wednesday\n";break;default:printf"dataerror\n";}}getch;}=========================================== 1.求下列分段函数的值;2.求下列分段函数的值;a、b由键盘输入3.求分段函数的值4.求分段函数的值⎪⎩⎪⎨⎧<=>+=0ln 01012X x X X e Y x5.计算:s=1+1/1+1/2+……+1/n,其中n 由键盘输入;6.用台劳级数求e 的近似值,直到最后一项小于10-6e=1+1/1+1/2+1/3+……7.求s=1-2+3-4+5……+99-1008.输出200~1000之间能被7整除的数,并统计其个数;9.任意输入100个整数,分别统计其中的正数、负数和零的个数;10.任意输入N 个数,统计其中的正数个数和负数个数;11.任意输入aNN 个数,找出并输出其中的最大数和最小数,以及它们的下标;12.求数组a88中,主对角线和次对角线上各元素之和;13.任意输入N 个数,将它们由大到小排序输出;14.编程打印下列的杨辉三角形;设10行11112113311464115101051……15.以“”为字符,打印一个正三角形;16.以“”为字符,打印一个6行的倒正三角形;17.打印10~1000之间满足下列条件的所有数:正序读和反序读都相同,例如:55、232等;18.从键盘任意输入一个大于0且小于1000的整数,然后输出此整数的所有整数因子;例如:输入12,输出1,2,3,4,6,12;19.编写一个函数,将字符串中的元音字母输出;例如字符串为“boyandgirl”,则输出为:oai20.从键盘上任意输入一个字符串S,输出其中的数字字符;例如输入为:sd12we$55abc8,则输出结果为:1255821.编写一个函数,将两个字符串连接起来;不能用strcat函数;22.编写一个函数:完成判断方阵aNN是否关于主对角线对称相等,若对称则返回1,否则返回0;23.输入10个学生包括姓名和成绩的信息,找出成绩最高的,然后输出该学生的姓名和成绩;24.输入10个学生包括姓名、计算机、英语的信息,找出二门课的平均成绩最高的学生,然后输出该学生的姓名和成绩;25.函数intaddintaNN,intbN的功能是将a数组中每行的最小元素放入b数组中,编写该函数实现之;26.函数intaddintaNN,intbN的功能是将a数组中每行的最大元素放入b数组中,编写该函数实现之;27.函数intaddintaNN,intbN的功能是将a数组中每列的最小元素放入b数组中,编写该函数实现之;28.编写一函数:intsubstringcharstr,charsub,判断字符串sub是否是字符串str的子串,若是子串,则返回子串的位置,否则返回-1;29.函数voidcompchars1,s2的功能是比较字符串s1和字符串s2,若字符串s1大于字符串s2,则函数返回1,若字符串s1等于字符串s2,则函数返回0,若字符串s1小于字符串s2,则函数返回-1;要求:不能调用库函数strcmp30.函数voiddelechars的功能是删除字符串s中的所有数字字符和非字母字符,并将字符串压缩;例如原字符串为:abc12ef5ghij8%%yz,处理后的字符串为:abcefghijyz;。
C语言章节习题集(全)
C语言程序设计第一、二章单项选择题1.将汇编语言编写的程序翻译成目标程序的程序是()A)解释B)编译C)汇编D)目标2.不属于面向机器语言的是()A)符号语言B)二进制语言C)3.A)解释B)编译C)汇编D)二进制4.不属于高级语言的是()。
5.A)D)分支结构6、CA7A、在main()函数中定义B、C语言程序总是从第一个定义的函数开始执行C、C语言程序中,main()函数必须放在程序的开始部分D、C语言程序总是从main()函数开始执行8、以下对C语言描述中正确的是()。
A、C语言源程序中可以有重名的函数B、C语言源程序中要求每行只能书写一条语句C、C语言源程序中,注释可以出现在任何位置D、最小的C源程序中没有任何内容9、对C语言源程序执行过程描述正确的是()。
A、从main()函数开始执行,到main()函数结束B、从程序的第一个函数开始执行,到最后一个函数结束C、从mainD、填空题1.2.3.4.用C C程序”,扩展名规定为“____”。
5.C OBJ”的____。
6.C____,才能"EXE"。
7、89.选择结构是____选择某个操作来执行的—种程序结构。
10.选择结构可以分为____、双分支结构和多分支结构。
11.循环结构又可分为当型循环、____及次数型循环。
第三章数据类型、运算符与表达式单项选择题1.以下程序的输出结果是。
main(){inta=10,b=10;printf("%d,%d",a--,++b);}A)10,11B)10,10 C)9,9D)9,112.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是A)'a'&&'b'B)a<=b3.设ch是char型变量,其值为4.main();}A)003B)012 C)103D)1125.字符串“\t\n\\\045\’”的长度为。
C语言程序设计习题集(有答案)
C语言程序设计习题集(有答案) C语言程序设计习题集(有答案)C语言是一门广泛应用于软件开发和系统编程领域的计算机程序设计语言。
掌握C语言编程的基础知识和技能对于从事相关行业的人来说至关重要。
为了帮助读者加深对C语言的理解和应用,本文提供了一份C语言程序设计习题集,每道习题都附有答案,供读者参考和自我检测。
1. 输入输出问题描述:编程实现一个简单的输入输出程序。
要求从标准输入读入一个整数,然后输出该整数,并换行。
解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);printf("%d\n", num);return 0;}```2. 条件判断问题描述:编写一个程序,判断一个给定的整数是否为偶数。
如果是偶数,则输出"Even",否则输出"Odd"。
解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);if (num % 2 == 0) {printf("Even\n");} else {printf("Odd\n");}return 0;}```3. 循环结构问题描述:编写一个程序,计算并输出1到100之间所有偶数的和。
解答:```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("Sum: %d\n", sum);return 0;}```4. 数组问题描述:编写一个程序,从键盘输入5个整数,然后按照输入的顺序将它们输出。
C语言程序设计习题集7-10套
for(i=0;i<N;i++)
for(j=0;(5);j++)
{ t=a[i][j];
(6);
a[j][i]=t;
}
}
4、用递归法求n!
递归公式如下:
#include<stdio.h>
int jx(int n)
{
int f;
if(n==1)(7);
else f=(8);return来自f;}main()
{
int n,f;
printf(“Input n :”);
scanf(“%d”,&n);
f= jx(n);
printf("\n n!=%d",f);
}
5、求3*4数组中的最大值及其下标。
#include <stdio.h>
main()
{ int a[3][4]={{1,2,3,4}, {9,8,7,6},{-10,10,-5,2}};
}
四、编写程序(每题10分,共30分)
1.编写一个程序,提示用户输入一个用磅表示的重量,然后程序将磅转换为公斤。输出转换结果。已知1磅=454克,1公斤=1000克。
2.编写程序,判断整数n的奇偶性。n由键盘输入。如果n为0则输出“zero”,若为奇数则输出“odd”,若为偶数则输出“even”。
3.编写一个函数,计算下面公式:
8.jx(n-1)*n
9.max=a[i][j];
10.colum=j
四、根据题目要求编写完整程序(每题10分,共30分)
1、
#include<stdio.h>
voidmain()
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《高级语言程序设计》习题集(本资料仅供学生学习使用)1、求最大数2、借书方案知多少3、杨辉三角形4、数制转换5、打鱼还是晒网6、该存多少钱7、怎样存钱利最大8、出售金鱼9、平分七筐鱼10、有限5位数11、8 除不尽的数12、一个奇异的三位数13、4位反序数14、求车速15、阿姆斯特朗数16、完全数17、亲密数18、回文数19、求素数20、求具有abcd=(ab+cd)2性质的四位数21、歌德巴赫猜想22、百钱百鸡问题23、爱因斯坦的数学题24、换分币25、年龄几何26、三色球问题27、马克思手稿中的数学题28、最大公约数和最小公倍数29、分数比较30、分数之和31、将真分数分解为埃及分数32、列出真分数序列33、计算分数的精确值34、新娘和新郞35、委派任务36、谁在说谎37、谁是窃贼38、邮票组合39、黑与白40、哪个大夫哪天值班41、区分旅客国籍42、谁家孩子跑最慢43、1~9分成1:2:3的三个3位数44、拉丁方45、1~9组成三个3位的平方数46、由8个整数形成奇特的立方体47、减式还原48、九位累进可除数49、约瑟夫问题50、和数能表示1~23的5个正整数51、10个小孩分糖果52、小明买书53、奇数平方的一个有趣性质54、角谷猜想55、卡布列克常数56、四方定理57、自动发牌58、常胜将军59、抢 3060、兎子产子61、人机猜数游戏62、人机猜数游戏(2)63、将阿拉伯数字转换为罗马数字64、选美比赛65、超长正整数的加法1求最大数问555555的约数中最大的三位数是多少?*运行结果输入:555555输出:The max factor with 3 digits in 555555 is:7772借书方案知多少小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?*运行结果There are diffrent methods for XM to distribute books to 3 readers:1: 1,2,3 2: 1,2,4 3: 1,2,5 4: 1,3,2 5: 1,3,46: 1,3,5 7: 1,4,2 8: 1,4,3 9: 1,4,5 10:1,5,211:1,5,3 12:1,5,4 13:2,1,3 14:2,1,4 15:2,1,516:2,3,1 17:2,3,4 18:2,3,5 19:2,4,1 20:2,4,321:2,4,5 22:2,5,1 23:2,5,3 24:2,5,4 25:3,1,226:3,1,4 27:3,1,5 28:3,2,1 29:3,2,4 30:3,2,531:3,4,1 32:3,4,2 33:3,4,5 34:3,5,1 35:3,5,236:3,5,4 37:4,1,2 38:4,1,3 39:4,1,5 40:4,2,141:4,2,3 42:4,2,5 43:4,3,1 44:4,3,2 45:4,3,546:4,5,1 47:4,5,2 48:4,5,3 49:5,1,2 50:5,1,351:5,1,4 52:5,2,1 53:5,2,3 54:5,2,4 55:5,3,156:5,3,2 57:5,3,4 58:5,4,1 59:5,4,2 60:5,4,33杨辉三角形在屏幕上显示杨辉三角形11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1..................4数制转换将任一整数转换为二进制形式*运行结果输入:8输出:number of decimal form:8it's bunary form:0000000000001000输入:-8输出:number of decimal form:-8it's binary form:1111111111111000输入:32767输出:number of decimal form:32767it's binary form:0111111111111111输入:-32768输出:number of decimal form:-32768it's binary form:1000000000000000输入:128输出:number of decimal form:128it's binary form:00000000100000005打鱼还是晒网中国有句俗语叫“三天打鱼两天晒网”。
某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
*思考题:请打印出任意年份的日历*运行结果Enter year/month/day:1991 10 25He was fishing at day.Enter year/month/day:1992 10 25He was sleeping at day.Enter year/month/day:1993 10 25He was sleeping at day.6该存多少钱假设银行一年整存零取的月息为0.63%。
现在某人手中有一笔钱,他打算在今后的五年中的年底取出1000元,到第五年时刚好取完,请算出他存钱时应存入多少。
*运行结果He must save 4039.44 at first7怎样存钱利最大假设银行整存整取存款不同期限的月息利率分别为:0.63% 期限=1年0.66% 期限=2年0.69% 期限=3年0.75% 期限=5年0.84% 期限=8年利息=本金*月息利率*12*存款年限。
现在某人手中有2000元钱,请通过计算选择一种存钱方案,使得钱存入银行20年后得到的利息最多(假定银行对超过存款期限的那一部分时间不付利息)。
*思考题某单位对职工出售住房,每套为2万元。
买房付款的方法是:一次交清,优惠20%从第一年开始,每年年初分期付款:5年交清,优惠50%;10年交清,优惠10%;20年交清,没有优惠。
现在有人手中正好有2万元,若假定在今后20年中物价和银行利率均保持不变,问他应当选择哪种付款方式可以使应付的钱最少?*运行结果For maxinum profit,he should so save his money in a bank:made fixed deposit for 8 year: 0timesmade fixed deposit for 5 year: 4timesmade fixed deposit for 3 year: 0timesmade fixed deposit for 2 year: 0timesmade fixed deposit for 1 year: 0timesTotal:8841.01可见最佳的存款方案为连续四次存5年期。
8出售金鱼买卖提将养的一缸金鱼分五次出售系统上一次卖出全部的一半加二分之一条;第二次卖出余下的三分之一加三分之一条;第三次卖出余下的四分之一加四分之一条;第四次卖出余下的五分之一加五分之一条;最后卖出余下的11条。
问原来的鱼缸中共有几条金鱼?*思考题日本著名数学游戏专家中村义作教授提出这样一个问题:父亲将2520个桔子分给六个儿子。
分完后父亲说:“老大将分给你的桔子的1/8给老二;老二拿到后连同原先的桔子分1/7给老三;老三拿到后连同原先的桔子分1/6给老四;老四拿到后连同原先的桔子分1/5给老五;老五拿到后连同原先的桔子分1/4给老六;老六拿到后连同原先的桔子分1/3给老大”。
结果大家手中的桔子正好一样多。
问六兄弟原来手中各有多少桔子?*运行结果There are 59 fishes at first.9平分七筐鱼甲、乙、丙三位鱼夫出海打鱼,他们随船带了21只箩筐。
当晚返航时,他们发现有七筐装满了鱼,还有七筐装了半筐鱼,另外七筐则是空的,由于他们没有秤,只好通过目测认为七个满筐鱼的重量是相等的,7个半筐鱼的重量是相等的。
在不将鱼倒出来的前提下,怎样将鱼和筐平分为三份?*思考题晏会上数学家出了一道难题:假定桌子上有三瓶啤酒,癣瓶子中的酒分给几个人喝,但喝各瓶酒的人数是不一样的。
不过其中有一个人喝了每一瓶中的酒,且加起来刚好是一瓶,请问喝这三瓶酒的各有多少人?(答案:喝三瓶酒的人数分别是2人、3人和6人)* 运行结果It exists possible distribution plans:No.1 Full basket Semi--basket Emptyfisher A: 1 5 1fisher B: 3 1 3fisher C: 3 1 3No.2 Full basket Semi--basket Emptyfisher A: 2 3 2fisher B: 2 3 2fisher C: 3 1 310 有限5位数个位数为6且能被3整除的五位数共有多少?*思考题求100到1000之间有多少个其数字之和为5的整数。
(答案:104,113,122,131,140,203,212,221,230,302,311,320,401,410,500)*运行结果count=299911 8除不尽的数一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。
又知这个自然数被17除余4,所得的商被17除余15,最后得到一个商是a的2倍。
求这个自然数。
*运行结果The required number is:199312 一个奇异的三位数一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码正好相反,求这个三位数。
*运行结果The special number with 3 digits is:503(7)=305(9)=248(10)13 4位反序数设N是一个四位数,它的9倍恰好是其反序数,求N。
反序数就是将整数的数字倒过来形成的整数。
例如:1234的反序数是4321。
*运行结果The number satisfied states condition is:108914求车速一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。
两小时后里程表上出现了一个新的对称数。
问该车的速度是多少?新的对称数是多少?*运行结果The new symmetrical number kelometers is:95959.The velocity of the car is:50.0015姆斯特朗数如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。
如 407=43+03+73就是一个阿姆斯特朗数。