北民大C语言练习题.doc_第1页
北民大C语言练习题.doc_第2页
北民大C语言练习题.doc_第3页
北民大C语言练习题.doc_第4页
北民大C语言练习题.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 数据类型a. 输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.14159 3.142, 10.123456 10.123)b. 输入一个4位整数,求其得各位数字的平方和;(1234 1+4+9+16=30).c. 定义字符型变量ch,写出六种给ch赋值字符A的代码;d. 编写程序输出26组大小写字母;(AaBbCc.XxYyZz)e. 定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次f. 定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观察输出结果;g. 输入华氏温度求摄氏温度。转换公式为 c=5/9(f-32),输出结果取两位小数。2. 分支结构a. 输入三角形得三个边的边长,以此判断能否组成三角形,是什么形状的三角形;(等边三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形)b. 输入一个年份值,判断是否为闰年;c. 输入a、b、c三个整型变量,分别使用if语句和条件运算符求出三个数的最大值和最小值;d. 输入任意实数,求出其所对应的函数值(调用数学函数库)。z=e的x次幂(x10)z=log(x+3) (x-3)z=sin(x)/(cos(x)+4)e. 输入一个成绩,输出此成绩对应的级别;(优、良、中、及格、不及格),要求分别使用if语句和switch语句;f. 判断一个字符是否为字母或者数字;g. 使用条件运算符实现让c等于a、b中较大的,d等于a、b中较小的,e等于a的绝对值。h. 读入一元二次方程的三个系数,a,b,c,求出各种情况下方程的根,无解或输入数据不正确输出提示信息3. 循环结构a. 编写程序实现1+2+3+4+.+n,n由用户输入;b. 修改程序1,实现 1+3+5+7+9+.2*n-1;c. 修改程序1,实现 2+4+6+8+10+.2*n;d. 修改程序2,实现 1+1/3+1/5+1/7+.1/(2*n-1);e. 修改程序4,实现 1-1/3+1/5-1/7+.1/(2*n-1);f. 编程实现 1*2*3*4*5*.n;g. 编程实现 输入n,判断n是不是质数;h. 求sum=d+dd+ddd+dd.d(n个d),其中d为1-9的数字,d和n输入。i. 用一元五角钱兑换人民币 5分、2分和1分的硬币(要求每种至少有一个)共100枚,请输出每种具体的兑换方案以及共有多少种方案。j. 编程输出下三角式的九九乘法表.k. 输出斐波那契数列的前20项,该数列的前两项都是1,以后各项是前两项之和。l. 实现1!+2!+3!.+n!,n由用户输入;m. 实现1+(1+2)+(1+2+3)+(1+2+3+4)+.+(1+2+3+4.+n),n由用户输入;n. 求1到100之间的偶数之积;o. 输入n和m,求出他们的最大公约数和最小公倍数;p. 在屏幕上输出以下图形,要求使用循环嵌套实现1.* * * * * * * * * * * * * * * * * * * * *2.* * * * * * * * * * * * *3.* * * * * * * * * * * * * * 4.* * * * * * * * * * * * *5. * * * * * * * * * * * * * *6. * * * * * * * * * * * * * * *4. 函数调用a. 编写一个函数,返回一个整数的绝对值.;b. 编写一个函数,判断一个整数是否为素数,如果是则返回1,否则返回0.;c. 编写一个函数,找出一个大于给定整数且紧随这个整数的素数。d. 通过调用素数函数,实现求出1000以内所有素数的和;e. 通过调用素数函数,验证哥德巴赫猜想在10000以内有效;f. 编写一个函数,求一个整型数的各位数字的立方和;g. 编写函数fun计算并返回分段函数的值:x2+x+6 x0且x-3f(x)= x2-5x+6 0x10且x2及x3x2-x-1 其它h. 编写一个函数,用递归法求阶乘;i. 编写一个函数,用递归法求fibonacci数列的的前n项,n为形参;j. 编写一个函数,在函数中定义一个静态局部变量count,统计该函数被调用的次数;k. 编写一个函数,参数为整型n,输出n行的菱形;例如n=7,则图形为* * * * * *5. 一维数组a. 建立一个整型数组,在定义数组的时候为数组初始化任意10数字,体会初始化的用法;a) 建立一个长度为10的一维整型数组,提示用户为数组输入数据;b) 求出数组的最大值、平均值;b. 将数组分别使用选择排序法和冒泡排序法排序,并输出排序后的数组;c. 建立一个字符数组,将26个小写字母保存到数组中,并逆序输出;d. 用数组保存fibonacci数列的前20项;6. 二维数组a. 建立一个5行5列的二维数组,提示用户输入数组的值,分别按照先行后列和先列后行的顺序输入相同值;将数组显示到屏幕上,按矩阵显示;观察两种读入顺序的不同;b. 求出二维数组的主对角线之和、副对角线之和;c. 求出数组的上三角的平均值和下三角的平均值;d. 求出矩阵的周边元素之和;e. 判断矩阵是不是上三角矩阵;判断矩阵是不是下三角矩阵;f. 将矩阵转置,输出转置后的矩阵;g. 建立一个二维数组,将九九乘法表保存到数组中并且输出出来;h. 建立一个二维数组,数组的第一行保存26个小写字母,第二行保存26个大写字母;i. 建立二维数组a43,并为数组输入值,求出数组每行的最大值保存到数组b4中,求出数组每列的最大值,并保存到数组c3中;7. 字符串a. 输入一个字符串,以回车作为结束标志,并将字符串输出出来;b. 输入一个字符串,再输入一个字符,统计该字符在字符串中出现的次数;c. 输入一个字符串,统计字符串中字母、数字、空格出现的字数;d. 输入一个字符串,再输入一个字符,然后将该字符在字符串出现的第一个删除掉,输出删除后的字符串;e. 输入一个字符串,再提示用户输入两个整型值n、m,要求将字符串第n个字符开始,删除m个字符,输出删除后的字符串;f. 输入一个字符串,再提示用户输入一个字符x,和一个整型值n,要求n小于字符串的长度,将x插入到下标为n的位置,输出插入后的字符串;g. 提示用户输入两个字符串保存到字符数组str1和str2中,再输入一个整型值n,将str2代表的字符串插入到str1中下标为n的位置,输出插入后的字符串;h. 输入一个字符串,将字符串逆序,输出逆序后的字符串;i. 已有两个字符串,分别保存在字符数组str180和str23中,统计在str1保存的字符串中str2保存的字符串出现了多少次;(str2中的字符串长度为2)j. 输入一个字符串,以回车作为结束标志,然后将字符串中的字符排序(依照ASCII码的大小由低到高),并将排序后的字符串输出出来;8. 指针和函数a. 编写函数实现void func(int a,int b,int c,int *pmax,int *pmin,float *pavg) ,求出a,b,c的最大值和最小值、平均值通过指针返回;b. 编写函数void swap(int *x , int *y) 交换想x和y指向变量的值;c. 编写函数int aSum(int *a ,int n) 求出a所指向数组的前n项的和;d. 编写函数void cpyStr(char *stra,char *strb),将字符串strb复制给stra所指向的空间;e. 编写函数void catStr(char *stra,char *strb),将字符串strb连接到stra所指向的字符串的后面;f. 编写函数int cmpStr(char *stra,char *strb),将字符串strb和stra进行比较;g. 编写函数void insert(char *stra,char ch,int n),将将字符ch插入到字符串stra中第n个位置;h. 编写函数int lenStr(char s),求字符串的长度;i. 编写函数int findCh(char *str , char ch),找出字符ch在字符串str中出现的第一个位置;编写函数 void func(char *str),将str所指向字符串中的所有大写字母全变成小写字母;j. 编写函数int func(char *str),将字符串中所有的数字字符删除掉,并将新生成的字符串的长度作为返回值;比如 “abc123xyz” 过滤后 “abcxyz”返回值为6k. 编写函数void findCh(char *str , char ch),判断字符ch是否与str所指串中的某个字符相同; 若存在相同,什么也不做,若不同,则将其插在串的最后。l. 编写函数 int func(int n),函数返回值为 sum=1+1+2+1+2+3+1+2+3+4+.+1+2+3+4+.+nm. 编写函数 int func(int a,int n,int b),将b插入到一个已按降序排好的数组a中,a中现在有n个元素,要求插入后的数组仍然是降序的;n. 请编写函数void fun(char *str),对字符串,按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。o. 请编写函数void fun(char *s,char *t),将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。例如:当s串为ABCD时,则t串的内容应为ABCDDCBA。 p.9. 算法补充a. 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到4报数),凡报到4的人退出圈子,问最后留下的是原来第几号的那位。(建议用链表实现)b. 读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行 (这里的“单词”是指由空格隔开的字符串)。例如:若输入:“i am a student to take the examination.”,则应输出:“I Am A Student To Take The Examination.”。c. 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。d. 给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。e. 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5f. 打印出杨辉三角形(要求打印出10行)g. 求广义菲玻那契级数的第n项。广义菲玻那契级数的前n项为: 1,1,1,3,5,9,17,31, h. 例如:若 n = 15,则应输出:The value is: 2209。i. 在字符串str中找出ASCii码值最大的字符,将其放在第一个位置上,并将该字符的原字符向后顺序移动。例如:调用fun函数之前给字符串输入:ABCDeFGH,调用后字符串中的内容为:eABCDFGH。j. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。k. 一个自然数被 8 除余 1 ,所得的商被 8 除也余 1 ,再将第二次的商被8 除后余7 ,最后得到一个商为a。又知这个自然数被17除余4 ,所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。l. 用二分法求方程2X3+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论