c习题集 及参考答案.docx
《c习题集 及参考答案.docx》由会员分享,可在线阅读,更多相关《c习题集 及参考答案.docx(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+习题集10月22日(1)求二次方程的根(考虑各种情况)(2)输入一字符,判定该字符时英文字母,还是数字字符,还是其它字符。10月29日(3 )输出1001000之间能被3整除或个位100是3的整数,每行输出10个。(4 )求前n项和不超过5000的最大整数no(5 )对于任一整数n ,输出其所有的因子。(重复的不计,如12: 1,2,3,4,6,12)(6 )求出1000内的完数。(完数是指因子之和与本身相等的数,如6=1+2 + 3 )(7)求出所有的水仙花数。(水仙花数是个三位数,每个数与该数每位的立方和相等:如: 153 = 13+53+33)11月1日(8 )求出PI的值。PI =
2、 4*(1 -1/3 + 1/5 -1/7 + 1/9-.),当某项的绝对值小于0.000001时停止。(44 )先阅读下面的程序,写出结果。然后运行该程序,检查你的结果。#include using namespace std;int i = ll,j = 22;long fl(int n)(static long res = 1;couti+ + j4- + endl;res=res*n;return res;)static long res = 1;couti+ + j + 4-endl;res=res*n;return res;)int main()(int i=2J = 5;cout
3、fl(i)endl;coutf2(j)endl;couti j nendl;coutfl(i)endl;i+;coutfl(i)endl;couti j endl;)(45 )用递归的方法将一数字字符串转化为一整形值。12月15日(46 )编写一递归函数,int gcd(int m ,int n),返回m, n的最大公约数。(47 )编写一递归函数,返回一整形数组中的的最大数。(48 )编写一递归函数,返回一整形数中各位数之和(如234 ,返回2 + 3+4=9%(49 )编写一递归函数,统计字符串中指定字符的出现次数。12月17日(50 )定义用三种方法求三角形面积的重载函数(已知三顶点坐标
4、;已知底和高;已知两边和它们的夹角。)(51)用指针和引用两种方法来实现两个变量数据的交换void swap(int &,int &); void sw叩(int *,int *)(52 )验证三角形三边的中垂线交与一点,且交点是三角形外接圆的圆心。12月20日(53 )定义一字符数组,分别用数组首地址和指针的方法实现查找字符串中是否存在所指定的字符。(54 )定义int a4,使用地址的方法,找出数组中每行最大值,并输出数组的值。(55 )用指针的方法,实现二字符串的连接。(56 )用指针的方法,实现数组的选择法排序。12月24日(57 )使用指针完成下列任务,读入10个数据,输出其中不同的
5、数。(即只输出其中不同的数X(58 )将下列同学的姓名升序排序。(zhangyi , wangfei , liushan , zhaoxiang (59 )用动态分配内存的方法,实现任意大小矩阵的转置。(60 ) 一旦创建一个数组,其大小就固定了。当我们向数组中输入更多的数据时,由于数组已满, 我们必须创建一个更大的新的数组来代替当前的数组。编写一个函数,函数头如下:int * doublesize(int *list ,int size);函数返回一个新数组,大小是list的两倍。(61)编写一个函数,检查字符串si是否是字符串s2的子字符串,若是,返回第一次匹配的下标, 否则返回-L(62
6、 )编写一个函数,判断两个单词是否为字母易位次。如silent和listen就是易位词。C+习题集参考答案#include using namespace std;int main()int i,count=0;for(i=100;i = 1000;i + +)if(i%3=0 |i%10= = 3)couti n;if(count%10=9)coutendl;count+;)return 0;)#include using namespace std;int i = lzsum=O;while(sum = 5000)(sum += i;i+;)couti-2endl;return 0;)(5
7、)#include using namespace std;int izn;cinn;for(i=l;i = n;i+)(if(n%i = =0)couti endl;)return 0;)(6)#include using namespace std;int ijsum;for(i=l;i = 1000;i +)(for(j=lzsum=0;jij+)if(i%j=O)sum =sum+j; if(sum = = i)cout i endl;)return 0;)#include using namespace std;int main()int izbitOzbitlzbit2;for(i
8、 = 100;i=999;i + +)(bitO = i%10;bitl = i/10%10;bit2 = i/100;if(bit0*bit0*bit0+bitl*bitl*bitl+bit2*bit2*bit2 = i)coutiendl;)return 0;)(9 )输入10个同学的成绩(0到100之间),输出最高分和最低分。(10 )输入一个正整数,求出其反序数。(如2789 ,输出9872 (11)对于任一整数n ,输出其所有的因子。(重复的计,如12: 2,2,3)11月5日(12 )求出10010000内的素数。(13 )输入 x ,求出 sinx 的值(精度自定)。(sinx
9、= x -x73!+x75!-x7/7!+.)(14 )求任意两个正整数的最大公约数。(15 )打印如下的图形。123456123451234123#include using namespace std;int main()(double pi=Oft;int n=while(t=1.0/n) 0.000001)(pi += s*t;n = n+2;s = -s;)cout4*piendl;return 0;)#include using namespace std;int main()(double x,max=-l,min = 101;int i;for(i=l;ix;if(xmax)
10、max=x;)cout max=n max min = minendl;return 0;)#include using namespace std;int main()(int number;reverse_number=O;cinnumber;reverse_number = re vers e_ number* 10 + number%10;number/= 10;)coutreverse_numberendl;return 0;)#include using namespace std;int main()int numbeci;cinnumber;for(i=2; i = numbe
11、r;i+)(if(number%i = 0)(coutiendl;number/= i;i = 1;)return 0;)#includeusing namespace std;int main()(int a14=0,1,0,2,2,3,4,5,67,1,2,3,41;int b14 =0,2,9,9,1,3,4,5,67,1,2,3,6);bool flag=false;int c14=0;for(int i = 13;i=0;i)(ci = ai + bi;if 什 lag = true)ci + +;ci-= 10;flag = true;)else(flag = false;)if(
12、a0!=0)cout c0;for(i=l;i14;i+)coutci;coutendl;return 0;)(45)#include #include using namespace std;int str2num(char str)(int len =strlen(str);if(len = = l)return strO-O;elseint digit = strlen-l-O;strlen-l = ,O,;return str2num(str)*10 + digit;)int main()(char str80;cinstr;coutstr2num(str)endl;return 0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题集 及参考答案 参考答案
限制150内