C++程序设计_上机实践与学习辅导_王庆宝_朱红版的答案

上传人:suij****uang 文档编号:117475829 上传时间:2022-07-08 格式:DOCX 页数:56 大小:82.85KB
收藏 版权申诉 举报 下载
C++程序设计_上机实践与学习辅导_王庆宝_朱红版的答案_第1页
第1页 / 共56页
C++程序设计_上机实践与学习辅导_王庆宝_朱红版的答案_第2页
第2页 / 共56页
C++程序设计_上机实践与学习辅导_王庆宝_朱红版的答案_第3页
第3页 / 共56页
资源描述:

《C++程序设计_上机实践与学习辅导_王庆宝_朱红版的答案》由会员分享,可在线阅读,更多相关《C++程序设计_上机实践与学习辅导_王庆宝_朱红版的答案(56页珍藏版)》请在装配图网上搜索。

1、实验一#includevoid main(void)int a, b, sum;coutab;sum=a+b;coutsum=sumendl;#includevoid main()double f, c;coutf;c=5.0/9*(f-32);cout摄氏温度=cendl;#includevoid main()double r,s;coutr;s=3.14159*r*r;cout圆的面积是:s=sendl;#include#includevoid main()double a,b,c,s,area;coutabc;s=a+b+c;s=s/2;area=sqrt(s*(s-a)*(s-b)*(

2、s-c);coutareaendl;实验二#includevoid main(void)float a,b,c;/定义变量,存放三角形的三边数据coutabc; /从键盘依次输入三边的值 if(a+bc)|(a+cb)|(b+ca) /判断这三边是否能构成三角形coutNot Trianglen; 不满足三角形三边条件,输出否定信息 elsecoutTrianglen; 满足三边构成条件,输出确认信息#includevoid main(void) int year; /定义变量,存放将输入的年份coutyear; 输入欲判断的年份if(year%400=0|year%4=0&year%100!

3、=0) /判断该年份是否为闰年的条件 coutyear is a leap yearendl; 条件为真,说明输入的年份为闰年,输出 确认信息elsecoutyear isnt a leap yearendl; /否则,输出否定信息#includevoid main()float a1, a2;/定义两个操作数char oper; /定义运算符float result; 定义变量,存放结果int flag=0; /?couta1opera2; 从键盘键入运算式,如 5+34.5*7等switch(oper)/利用开关语句结构判断进行何种运算case +: /加法 result=a1+a2;br

4、eak;case -: 减法result=a1-a2;break;case *:result=a1*a2;break;default:cout输入错误的运算符!n;flag=1;if(flag=0)couta1opera2=resultendl; /输出结果#include#includevoid main()double a,b,c;double x1,x2,disc;coutabc;disc=b*b-4*a*c;if(fabs(disc)1e-5)x1=(-b)/2/a;cout方程有两个相等的实根:x=x1endl;else if(disc0)cout方程无实根!n;elsex1=(-b

5、+sqrt(disc)/2/a;x2=(-b-sqrt(disc)/2/a;cout方程有两个不同的实根:endl;coutx1=x1tx2=x2endl;#includevoid main()float al, a2;/定义两个操作数char oper; /定义运算符float result; 定义变量,存放结果int flag=0; /?couta1opera2; 从键盘键入运算式,如 5+34.5*7等switch(oper)/利用开关语句结构判断进行何种运算 case +: /加法result=a1+a2;break;case -: 减法 result=a1-a2; break;cas

6、e *:result=a1*a2;break;case /:if(a2=0)cout除数不能为0!n;flag=1;break;result=a1/a2;break;default:cout输入错误的运算符!n;flag=1;if(flag=0)couta1opera2=resultendl; /输出结果实验三#includevoid main()int x,y;/定义变量,x代表鸡的数目,y代表兔子的数目for( x=1;x30;x+) 鸡的数目从130皆有可能,所以程序将所有可能的解循环验证一 遍for(y=1;y30;y+) 同样兔子的数目从130皆有可能,所以程序将所有可能的解 循环验

7、证一遍if(2*x+4*y=90&x+y=30) /所有可能的解中将满足给定条件的解输出cout鸡有:xt兔有:yendl;#includevoid main()int a, a1, a2;/定义变量,a代表个位,a1代表十位,a2代表百位int b; /b为由a2, a1, a所组成的百位数for( a2=1;a2=9;a2+) /百位的位值从19皆有可能,所以程序将所有可能的解循环验 证一遍for(a1=0;a1=9;a1+) /同样十位的位值从09皆有可能,所以程序将所有可能的 解循环验证一遍for(a=0;a=9;a+)b=a2*100+a1*10+a;if(a*a*a+a1*a1*a

8、1+a2*a2*a2=b) 所有可能的解中将满足给定条件的解 输出coutbendl;#includevoid main(void)int a0, a1,a2;定义变量,a0代表个位,a1代表十位,a2代表百位int b; /b为由a2, a1, a0所组成的百位数for(b=100;b=999;b+) /将数字b从100到999循环,并将每个数拆开,看看是否符合水 仙花数的条件a2=b/100; 剥出数字b的百位数a1=b/10%10; /剥出数字b的十位数a0=b%10; 剥出数字b的个位数if(a0*a0*a0+a1*a1*a1+a2*a2*a2=b) 判断是否满足水仙花数的条件 cou

9、tvvbt; 满足条件,输出这个数coutendl;#includevoid main(void)int man, woman, children;/定义变量,存放结果(男人、女人、小孩的个数)for(man=1;man=9;man+) 男人从1人到9人循环,每种情况下计算满足条件的女人 和小孩的人数for(woman=1;woman=18;woman+) /在男人人数确定的情况下,女人从1人到18 人循环, 每种情况下计算满足条件的小孩人数children=36-man-woman;/男人女人人数确定后,小孩的人数就可以根据条件 求出if(man+woman+children=man*4+w

10、oman*2+children/2)&(children%2=0)/看看每种条件下男人、女人、小孩的人数及搬的砖是否满足给定的条件, 因为小孩是每两人/搬一块砖,所以小孩人数必须是偶数coutman=mantwoman=womantchildren=childrenendl;输出满足if条件的结果,即男人、女人、小孩的人数#includevoid main(void)int i,j,k,n,t=0; /定义n为从1到599循环的数字,i,j,k分别为n的百位、十位、个位数字/t为控制输出格式的计数变量for(n=1;n=599;n+) /使n从1到599循环,将满足条件的n摘出来i=n/100

11、; 剥出n的百位数j=n/10%10;/剥出n的十位数k=n%10; 剥出n的个位数if(n%3=0&(i=5|j=5|k=5) 当数字n满足给定的条件是coutnt; /输出 n 的值t+;if(t%5=0) /控制输出格式,每5个为一行,即输出5个数后输出回车coutn;coutendl;#includevoid main(void)int a0, a1,a2;定义变量,a0代表个位,al代表十位,a2代表百位int b; /b为由a2, al, a0所组成的百位数for(b=100;b=999;b+) /将数字b从100到999循环,并将每个数拆开,看看是否符合水 仙花数的条件a2=b/

12、100; 剥出数字b的百位数a1=b/10%10; /剥出数字b的十位数a0=b%10; 剥出数字b的个位数if(a0*a0*a0+a1*a1*a1+a2*a2*a2=b) 判断是否满足水仙花数的条件 coutvvbt; 满足条件,输出这个数coutvvendl;实验四#includevoid main(void)int a,b;int t, x;coutvv请输入两个正整数:”;cinab;x=a*b;if(avb) t=a; a=b; b=t;while(t=a%b)a=b;b=t;coutvv最大公约数:vvbvvendl;coutvv最小公倍数:vvx/bvvendl;#include

13、void main(void) int a,b,c; 定义存放输入的三个整数的变量空间coutvvInput three number: ;/提示信息cinabc; /从键盘输入三个整数for(int i=a;i=1;i-)/假设最大公约数为i,使i从a(或b或c)到1逐次递减循环 if(a%i=0&b%i=0&c%i=0) /当i满足公约数的条件时(同时能被a,b,c整除)时, 退出循环,即这时的i即为最大公约数 break;coutiendl;/输出结果#includevoid main(void)int a;couta;for(int i=2;i=a/2)couta是素 数n;elsec

14、outa不是素数;#includevoid main(void)int a,b,c;coutabc;for(int i=a;i=a*b*c;i+)if(i%a=0&i%b=0&i%c=0) break;cout最小公倍数为:iendl;#includevoid main(void)for(int i=100;i=200;i+) /将i从100到200依次循环,以求出所有满足素数条件的ifor(int j=2;j=i/2) 出了循环后,要判断i是中途退出的(不是素数)还是循环到i/2后再退出 的(是素数)couti” ”; /如果除数大于等于i/2,即表明i是循环完退出的,是素数, 输出结果#i

15、ncludevoid main(void)int a;int s;for(int i=1;i1000;i+)a=i;s=0;for(int j=1;ji;j+)if(a%j=0)s=s+j;if(a=s) coutaendl;实验五#includevoid main(void)int t=2;int s=0;for(int i=1;i=7;i+)s=s+t;t=t*10+2;cout2+22+222+.+2222222=sendl;#includevoid main(void) float y=1,t=1; /t为通项,初值为1,即1!, y为结果,初值为1 int n;coutn; 输入欲求

16、的项数for(int i=2;i=n;i+) t=t*i; /根据前一项求后一项y=y+t; /通项累加和cout”1!+2!+3!+.+n!=yendl; 输出结果#include#includevoid main(void)float x, y1,y2;coutx;y2=x;doy1=y2;y2=2*y1/3+x/y1/y1/3;while(fabs(y1-y2)1e-5);couty=y2endl;#includevoid main(void)float x,y,t; /t为通项,x为未知数int n; /n为通项个数,必须是整数coutnx; /从键盘输入数据10 2.5y=x; 结果

17、的初始值,因为循环从第2项开始,所以第1项要先赋给结果yt=x; /通项的初始值for(int i=2;i=n;i+) /假设第1项已求出(初始值),从第2项开始计算t=-t*x*x/(2*i-1)*(2*i-2); 首先计算通项,计算方法是用前1项的值推算后1项的 值即求出前后两项相除的结果,这个结果是它们相差的倍数,然后前1项的值乘以 这个倍数即为后1项的值y=y+t; /将当前的通项值累加起来coutvvy=vvyvvendl; /输出结果实验六#includefloat fun(float x) 函数fun求形参x的函数值,并将结果返回float y; /定义x的函数值y=2*x*x+

18、3*x+5; 计算函数值return y; /将结果返回void main(void)float y1, y2; /定义x为1和1.2时的函数值y1=fun(1.0);/将1.0作为实参调用fun函数,即赋给形参x,函数值即为所求的结果y2=fun(1.2); /将1.2作为实参调用fun函数,即赋给形参x,函数值即为所求的结果 coutvvy1=vvy1vvendl;coutvvy2=vvy2vvendl;#include#includevmath.hfloat f(float x) /求形参x的多项式的值return x*x+3*x-4;float f1(float x) /求形参x的多项

19、式的导数值return 2*x+3;void main(void)float x1,x0; /定义存放新旧迭代值的变量x1=0; /迭代变量赋初值dox0=x1;/迭代循环,将新的迭代值变成旧的迭代值,再去求新的迭代值x1=x0-f(x0)/f1(x0); /佣旧的迭代值求新的迭代值while(fabs(x1-x0)1e-5); /不满足结束条件,一直迭代循环coutx=x1endl; /输出结果#include#includefloat f(float x) /根据形参 x 求函数 f(x)=x*x+3*x-4 的值 return x*x+3*x-4;void main(void)float

20、 x1,x2,x0;do /判断输入的初值是否满足要求coutx1x2; /输入初值while(f(x1)*f(x2)0); /当解不在初值范围之内时,重新循环输入初值dox0=(x1+x2)/2; /根据初值求方程的新的根x0if(f(x0)*f(x1)0) 实际的根在x2和x0之间x1=x0; /将x0作为新的x1else 实际的根在x1和x0之间x2=x0; /将x0作为新的x2while(fabs(f(x0)1e-5); /判断x0是否是满足方程的解的精度coutx0=x0endl; /输出 x0#include#includefloat f(float x) /根据形参 x 求函数

21、f(x)=x*x+3*x-4 的值 return x*x+3*x-4;void main(void)float x1,x2,x0;do /判断输入的初值是否满足要求coutx1x2; 输入初值while(f(x1)*f(x2)0); /当解不在初值范围之内时,重新循环输入初值 dox0=(x1*f(x2)-x2*f(x1)/(f(x2)-f(x1); /根据初值求方程的新的根 x0if(f(x0)*f(x1)0) 实际的根在x2和x0之间x1=x0; /将x0作为新的x1else 实际的根在x1和x0之间x2=x0; /将x0作为新的x2while(fabs(f(x0)1e-5); /判断x0

22、是否是满足方程的解的精度coutx0=x0endl; /输出 x0#include#includefloat f(float x) /求形参x的多项式的值return x*x+3*x-4;float f1(float x) /求形参x的多项式的导数值return 2*x+3;float ff(float x)float y;if(fabs(f(x)1e-5)y=x;elsey=ff(x-f(x)/f1(x);return y;void main(void)float x1; /定义存放新旧迭代值的变量x1=0; /迭代变量赋初值coutvvx=vvff(x1)vvendl; /输出结果试验七/

23、B14:设计一个程序,求出100200之间的所有素数#include函数功能:判断x是否为素数,若是素数,函数返回值为1,否则,函数返回值为0int prime(int x)for(int i=2;ix/2;i+)if(x%i=0) /x能被2x/2整除,说明x不是素数return 0;return 1; 执行完循环,x为素数,返回1void main(void)for(int i=100;i=200;i+) /将i从100到200依次循环,以求出所有满足素数条件的iif(prime(i)=1) /利用函数判断循环变量i是否为素数coutit;/若为素数,输出这个数/输入一个整数n (2WnW

24、10000),输出它的所有的素数因子。用函数int Prime(int num)来判断整数num是否为素数。例如,若输入2310,则输出:2, 3, 5,7,11。#includeint Prime(int num) /函数Prime判断形参num是否为素数,若为素数,函数返回1,否则函数 返回0for(int i=2;inum/2;i+) /将 num 依次除以 2, 3, ., num/2if(num%i=0)/若上述数据有1个被num整除,则num为非素数,中止循环,直接 返回0return 0;return 1; 当以上循环正常结束(即i循环到num/2结束),说明没有数据被num整除

25、,num 为素数,返回1 void main(void)int n;coutn; /从键盘输入一个整数for(int i=2;i=n/2;i+) 将i从2开始循环,判断i是否为n的因子if(n%i=0&Prime(i) /若i为n的因子且i为素数coutvvivvt; /输出 i coutendl;#includeint prime(int x)for(int i=2;ix/2;i+)if(x%i=0)return 0;return 1;void main()int x;coutx;for(int i=2;ix/2;i+)int t=x-i;if(prime(i)&prime(t)coutx=

26、i+tendl;#includeint fun(int n)int mul=1;while(n)mul=mul*(n%10);n=n/10;return mul;void main(void) int n, mul;coutn; /从键盘输入整数while(n) 因为要输入多个整数,所以要判断输入的整数是否为0,不为0,继续循环输入 mul=fun(n); /用输入的整数n作为实参调用函数fun(),将函数值赋给变量mulcoutn的各位数之积为mulendl; 输出结果coutn;/继续输入另一个整数,直至输入为0,结束循环实验八#includevoid main()int a6=9,8,7

27、,6,5,4;int i,j,t;int n=6;for (j=0; jn-1; j+)for (i=0; iai+1) t=ai;ai=ai+1; ai+1=t;for(i=0;in;i+) coutait; coutendl;#includevoid main()int a6=9,8,7,6,5,4;int i,j,min,t;int n=6;for (j=0; jn-1; j+)min=j;for (i=j; iai) min=i;t=amin;amin=aj;aj=t;for(i=0;in;i+) coutait; coutendl;#includevoid main()(int a1

28、0=2,5,78,4,6,3,89,12,15,34;int max=a 0 ,maxindex=0;for(int i=l;i10;i+)if(maxai)(max=ai;maxindex=i;coutmax=maxt maxindex= maxindexendl;#includevoid main()(int a=8,16,5,14,l;int len=sizeof(a)/sizeof(a 0);int temp;for(int i=0;ilen/2;i+)(temp=ai;ai=alen-l-i;alen-l-i=temp;for(i=0;ilen;i+) coutait; couten

29、dl;#include#define N 100 void main()int aN;int i,j;for(i=0;iN;i+)ai=i;for(i=2;iN;i+)for(j=2;i*jvN;j+)(if(ai!=0)ai*j=O;for(i=2;iN;i+)if(ai!=0)coutait;coutendl;实验九#includevoid main()(int i,j ,row=0,colum=0,max;int a44= 5,12,23,56,19,28,37,46,-12,-34,6,8,4,6,34,1;max=a0 0;for(i=0;i4;i+)for(j=0;jmax)(ma

30、x=aij;row=i;colum=j;coutmax=max,row=row,colum=columendl;#includevoid main()( int i,j,k;int colum,saddle,max,flag=0; int a44=5,12,23,56,19,28,37,46,-12,-34,-6,8,4,6,34,10;for(i=0;i4;i+)max=ai0;for(j=0;jmax) max=aij;colum=j;for(k=0;kakcolum)max=akcolum;if(max=aicolum) flag=1;saddle=max;break;if(flag=1

31、)coutsaddle=saddle”,row=i”,colum=columendl;elsecoutNo Saddle!n;#include#define N 4void main(void)int aNN;/定义一个NXN的二维数组存放矩阵中的数值int i, j;cout请输入一个NXN的矩阵,矩阵的数值之间用空格或回车间隔:n;for(i=0; iN; i+) 彳亍循环for(j=0; jaij; /从键盘向矩阵中的每一个元素输入数据coutvv”输入的原始矩阵为:n;for(i=0; iN; i+)/输出刚输入的矩阵中的数值,行循环for( j=0; jN; j+) 列循环coutv

32、vaijvvt; /输出一个数据,数据之间用制表符间隔 coutendl; 每行输出结束,输出回车间隔每行 for(i=0; iN; i+) 转置矩阵,主对角线以下的行列元素交换,for(j=0; ji; j+)int t=aij;aij=aji;aji=t;coutn转置后的矩阵为:n;for(i=0; iN; i+) 输出转置后的矩阵for( j=0; jN; j+)coutvvaijvvt;coutendl;#includevoid main()int a1111;int i,j;for(i=1;i10;i+)for(j=1;j=i;j+)aij=i*j;for(i=1;i10;i+)f

33、or(j=1;jv=i;j+)coutaijt;coutvvendl;#includevoid main()int a1010;int i,j;for(i=0;i10;i+)ai0=1;aii=1;for(i=2;i10;i+)for(j=1;ji;j+)aij=ai-1j-1+ai-1j;for(i=0;i10;i+)for(j=0;j=i;j+)coutaijt;coutendl;实验十#includeint gys(int m,int n/欧几里德算法求两整数m和n的最大公约数 int r;if(mn) r=m; m=n; n=r; while(r=m%n) m=n; n=r; retu

34、rn n;void main(void) int a8=26,1007,956,705,574,371,416,517;int b8=994,631,772,201,262,763,1000,781;int c8;for(int i=0;i8;i+)ci=gys(ai,bi); /对应元素的公约数for(i=0;i8;i+)coutcit;coutendl;#includeint fun(int x)int sum=0;while(x)sum+=x%10;x=x/10;return sum;void main()int a10,b10;int sum=0;cout请输入10个整数:n;for(

35、int i=0;iai;for(i=0;i10;i+)bi=fun(ai);sum+=ai;coutsum=sumendl;for(i=0;i10;i+)coutaitbiendl;/*编写函数int fun(int s , int num),其功能是找出100至num (不大于1000)之间三位数字之和为10的所有整数,并把这些整数放入数组s中,同时把整数的个数作为函 数值返回。在主函数中定义存放整数的数组a1000,并从键盘输入num的值,将这两项作为实际参 数调用函数fun。*/#includeint fun(int s, int num) 函数fun将满足条件的数据放入形参数组s中,由

36、于是数组名作参数, 实际上也是将数据放入到实参数组定义的空间中,数组元素的个数作为函数值返回int sum,t,count=0; /sum是每个数值的累加和,count是满足条件的数据个数for(int i=100;i=num;i+)sum=0; /求每一个数据各位数的累加和,所以在每一个数循环的开始都要对sum清 零t=i; /对i剥数,由于i同时也控制循环次数,所以i不能改变,将i赋给t,对t剥 数while(t)sum+=t%10; /剥出t的个位数,加入累加和t=t/10; /去掉t的个位数,t不为0继续循环if(sum=10) 累加和满足所要求的条件scount+=i; /将该数存入

37、形参数组s,数组序号加1 return count; 返回s中的实际数据个数void main(void)int num, a1000;/数组a存放满足条件的数据coutnum; /从键盘输入num的值int n; /n为满足条件的数据个数n=fun(a,num); /佣数组名a及num作实参,调用函数,将数据放入数字a中,数据 的个数作为函数值赋给ncoutn=nendl;for(int i=0;in;i+)coutait; /输出满足条件的数据coutendl;#includeint prime(int x)for(int i=2;ix/2;i+)if(x%i=0)return 0;ret

38、urn 1;void main()int a=55,154,103,106,151,58,199,10,247,218,39,170,87,122,135;int num=0;for(int i=0;isizeof(a)/sizeof(int);i+)if(prime(ai)num+;coutait;coutendlnum=numendl;实验十#includeint binary(int array, int n, int number)( int low=0, high=n-1, mid;while(low=high)mid=(low+high)/2;if(numberarraymid)l

39、ow=mid+1;elsereturn mid+1 ;return -1;void main()int a=2,4,6,8,10,12,14,16,18,20,22,24;int num;coutnum;int index=binary(a,sizeof(a)/sizeof(a0), num); if(index!=-1)cout该数在数组中的序号为:indexendl;elsecout数组中没有该元素n;#includeint del(int array, int n) for(int i=0;in-1;i+)if(arrayi=arrayi+1) for(int j=i+1;jn;j+)a

40、rrayj-1=arrayj;n-;i-;return n;void main() int a=2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10;int n=del(a,sizeof(a)/sizeof(a0);for(int i=0;in;i+) coutait;coutendl;/设计一个通用的插入排序函数,参数为指向实数的指针/ (指向一个已排序好的数组)和一个实数,将这个实数插入到已排序好的数组中。/主函数完成输入若干个实数,每输入一个实数,调用一次插入排序的函数完成数据的排序。最后输出已排序的数据。#include#include#define N 1

41、00 最多对100个整数排序int NUM=-1; /整数数组的序号,排序时首先要序号加1,初值为-1,加1后,即从序号0开 始void insert(float a,float x) /将形参x排序插入形参a指向的数组中NUM=NUM+1;/因为每调用一次insert函数,就插入一个数,所以数组的序号加1int n=NUM-1;/最后一个数组元素所在的位置for(int i=n;i=0;i-)/因为数组是排序数组,所以从数组的最后一个元素开始,依次向前扫描,不断与x相比,找出x插入到数组中的正确位置if(aix) 当前元素大于x, x应插在当前元素之前ai+1=ai;/将当前元素向后平移一个

42、位置,为x腾出地方else break; 若当前元素小于x, x应插在当前元素之后,即找到插入点,退出循环ai+1=x; /x插入到当前元素之后的位置void main(void)float aaN; /定义存放数据的数组空间int i=0; /数组序号从0开始coutinput number(end with 0):aai; /输入数据do 若输入的数据不为0,循环输入数据,边输入边插入insert(aa,aai); 将刚输入的数据插入到数组中i+; /数组序号加1cinaai; 继续循环输入while(fabs(aai)1e-6); /循环输入直至输入0为止coutOUTPUTendl;f

43、or(int j=0;ji;j+) 输出排好序的数组元素coutaajt;coutendl;/*假定在一个整数组中,每一个元素都是不超过两位的正整数,试编程统计该数组全部元素中数字0,1,2,3,.,9各出现多少次。编程要求:采用下列方法输入数据static int a=5,26,98,77,1,27,30;*/#includevoid main(void)static int a=5,26,98,77,1,27,30;int b10=0;/数组b存放数组a中0, 1, . ,9数字出现的次数.b0存放数字0出现 的次数,/ b1存放数字1出现的次数等int n, t;n=sizeof(a)/

44、sizeof(int); /n为数组a中具体的元素个数,sizeof(a)是数组a所占的内存 字节数,/sizeof(int)是一个int型数据所占的内存数for(int i=0;in;i+)coutait; /依次输出数组a中的数据coutendl;for(i=0;in;i+)/针对数组中的每一个数值元素进行循环,对每一个数值剥数while(ai) 对 ai剥数t=ai%10; 求出ai的个位数tbt=bt+1; /bt中存放的是数字t出现的次数,此时,bt的数值加1,表明数 字t又出现了一次ai=ai/10;/将 ai的个位数去掉,若ai不为0,继续循环剥数for(i=0;i10;i+)c

45、outvvivvtvvbivvendl; /依次输出数组b中的元素,即是数字09各出现的次数实验十二输入一行字符串,统计其中大写字符、小写字符、数字字符的数量。#includevoid main(void)char s200;cout=A&si=a&si=0&si=9)c+;cout大写字符个数:at小写字符个数:bt”数字字符个数:cendl;/*输入一行字符,把该字符串中的每一个字母串的首字母都换成大写字母, 并输出转换后的字符串。如输入 good mor23ning!则输出:Good Mor23ning!*/#include#includevoid main(void)char str1

46、00;/定义存放字符串的数组空间int flag=0;/状态变量,辅助判断用cout=a&stri=z&flag=0) /当前字符为小写字符且 flag 为 0stri=stri-32; /将小写字符变成大写字符flag=1; /将flag置1,下一个小写字符就不会满足if条件而转换成 大写,这样保证一个单词只有第1个字符转换if(stri= |stri=n)flag=0; /当前字符为空格时,将flag置为0,这样当碰见下一个字符时,/又满足上面的if条件而转换成大写字符coutthe result is:n;coutstrendl; 输出结果#include#includevoid mai

47、n(void)char str100;/定义存放字符串的数组空间int flag=0;/状态变量,辅助判断用int num=0;cout=A&stri=a&stri=z)&flag=0) 当前字符为字符且flag为0num+; /字符数加1flag=1; /将 flag 置 1if(stri= |stri=n)flag=0; /当前字符为空格时,将flag置为0coutthe word number is: numendl;#include#includevoid main(void)char str100=Apple$12pear watermelon $ # Banana;/定 义存放字符串的数组 空间char maxlengt

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!