C常用基本程序

上传人:suij****uang 文档编号:52458169 上传时间:2022-02-08 格式:DOC 页数:18 大小:526.50KB
收藏 版权申诉 举报 下载
C常用基本程序_第1页
第1页 / 共18页
C常用基本程序_第2页
第2页 / 共18页
C常用基本程序_第3页
第3页 / 共18页
资源描述:

《C常用基本程序》由会员分享,可在线阅读,更多相关《C常用基本程序(18页珍藏版)》请在装配图网上搜索。

1、C+常用基本程序一、 数的各位表示方法1、两位数的各位表示个位数的表示方法:a%10=x;例: 45%10=5;十位数的表示方法:a/10=x ;例: 45/10=4 ;2、三位数的各位表示个位数的表示方法:a%10=x;例: 456%10=6;十位数的表示方法:a%100/10=x;例: 456%100/10=5;百位数的表示方法:a/100=x ;例: 456/100=4;(n-1)A 表示要求的数字,n 表示要求的个数,k 表示该位值。4、给出一个不大于5 位的正整数,求出它是几位数及各位上的数字。#includeusingnamespacestd;intmain()longintn;i

2、ntwei,wan,qian,bai,shi,ge;cinn;if(n99999)couterror!9999)wei=5;elseif(n999)wei=4;elseif(n99)wei=3;elseif(n9)wei=2;elsewei=1;wan=n/10000;qian=n/1000%10;bai=n/100%10;shi=n/10%10;ge=n%10;if(wei=5)coutwei,wan,qian,bai,shi,geendl;if(wei=4)coutwei,qian,bai,shi,geendl;if(wei=3)coutwei,bai,shi,geendl;if(wei=

3、2)coutwei,shi,geendl;if(wei=1)coutwei,geendl;return0;二、 素数的判定1、 如果数值 n 除了 1 和它自己外,不能被其他数整除,则说明n 为素数。#include#includeusingnamespacestd;intmain()inti,n,k;cinn;k=sqrt(n);for(i=2;ik)coutn 是素数 endl;elsecoutn 不是素数 endl;return0;对于一个数的各个除数来说,到它的平方根位置即可找出所有的除数,那么循环可以进行到这个数的平方根位置是就可以停止。再利用循环从 1 到平方根位置的数进行顺次整除

4、进行判断。2、利用函数完成#include#includeusingnamespacestd;voidp(intn)intk,i;k=sqrt(n);for(i=2;ik)cout是素数 endl;elsecout不是素数 n;p(n);return0;三、 奇偶数的判定利用条件判断进行判定,即if语句,if( n%2=0)则为偶数,否则为奇数#includeusingnamespacestd;intmain()inta;cina;if(a%2=0)coutyesendl;elsecoutnoendl;return0;四、 数的大小的比较(一)对三个数的排序比较1、利用if语句实现,利用中间变

5、量进行比较。#includeusingnamespacestd;intmain()inta,b,c,max;coutabc;if(ab)if(ac)/* 对 a 和 c 进行比较 */max=a;/* 如果 if 语句的条件正确,执行这个语句,即如果elsemax=c;/* 如果 if 语句的条件不正确,执行这个语句,即如果elseif(bc)max=b;elsemax=c;coutmax=maxc,将 a 的值赋值给 max*/a=c,将 c 的值赋值给 max*/进行两轮比较后,即可比较完2、 #includeusingnamespacestd;intmain()inta,b,c,max;

6、cinabc;if(ab)max=a;elsemax=b;if(cmax)max=c;coutmax=endl;return0;3、利用条件表达式比较#includeusingnamespacestd;intmain()inta,b,c,max,min;cinabc;min=ab?a:b;min=minb?a:b;max=maxc?max:c;coutmax=maxendlmin=minendl;return0;(二)对多个数的比较利用循环语句,对每个数进行顺次比较,利用中间变量,将每个数和中间变量进行比较,如果符合条件,那就刷新值,如果不符合条件,就进行下面的比较。#includeusing

7、namespacestd;intmain()inttemp,max=0,min,i=0;/* 首先对 max 进行赋初值为零,然后要和下面的输入值进行比较,不过不赋初值,就没法和下面的值进行比较*/couttemp;min=temp;/* 这个语句的作用是将输入值赋值给min,因为数都是大于0 的,如果赋初值为 0,那么将对最小值无法进行比较,但不影响最大值*/for(;)if(tempmax)max=temp;/* 进行条件判断,如果值大于 max,就将中间变量的值赋值给 max*/if(temptemp;/* 然后输入另一个数,进行下一轮的比较*/coutmax=maxtmin=minen

8、dl;return0;五、数的求和,平均值问题1、一般的输入数据求和#includeusingnamespacestd;intmain()inta,sum=0,i;cina;while(a0)sum+=a;cina;coutsumendl;return0;2、求 1+2+3+ +n;#includeusingnamespacestd;intmain()intn,sum,i;/* 计算 1+2+3+.+n的值 */sum=0;cinn;cout1+2+3+.+n的值为 :;for(i=1;i=n;i+)sum+=i;coutsumendl;return0;3、 1+3+5+ +99 的值#inc

9、ludeusingnamespacestd;intmain()intn,sum,i;/* 计算 1+2+3+.+n的值 */sum=0;cinn;cout1+2+3+.+n的值为 :;for(i=1;i=n;i+)sum+=i;coutsumendl;return0;4、 2+4+6+ +100 的值#includeusingnamespacestd;intmain()intn,sum,i;/* 计算 1+2+3+.+n的值 */sum=0;cinn;cout1+2+3+.+n的值为 :;for(i=1;i=n;i+)sum+=i;coutsumendl;return0;5、求 1+2+3+

10、n 的和不大于 1000 的最大自然数 n#includeusingnamespacestd;intmain()intn,s=0;for(n=1;s=1000;n+)s+=n;coutn=nendl;return0;6、12n ,n 从键盘输入#include/* 计算 sqrt(1)+sqrt(2)+.+sqrt(n)的值 */ #includeusingnamespacestd;intmain()intn,i;doublesum=0;cinn;for(i=1;i=n;i+)sum+=sqrt(n);coutsum=sumendl;return0;7、1121231n#include#inc

11、ludeusingnamespacestd;intmain()intn,i;doublesum=0,s=0;cinn;for(i=1;i=n;i+)s+=sqrt(n);sum+=s;coutsum=sumendl;return0;8、求出分数序列 2/1+3/2+5/3+8/5+13/8 ,的前 20 项的和。 #include/* 计算 2/1+3/2+5/3+. 的前 20 项的值 */ usingnamespacestd;intmain()inti,t;doublesum=0,z,a=2,b=1;for(i=1;i=20;i+)sum+=a/b;t=a;a+=b;b=t;coutsum

12、=sumendl;return0;9、求出分数序列 2/4+4/7+6/10+8/13+10/16+ 的前 20 项的和 #include/* 计算 2/4+4/7+6/10+8/13.*/ usingnamespacestd;intmain()inti,n;doublesum,t;cinn;for(i=1,sum=0;i=n;i+)t=(2.0*i)/(3.0*i+1);sum+=t;cout2/4+4/7+6/10+8/13. 的值为 :sumendl; return0;10、求 n!#includeusingnamespacestd;intmain()inti,n,sum=1;cinn;

13、for(i=1;i=n;i+)sum*=i;coutsumendl;return0;11、1!+2!+ +n!, n 从键盘输入#includeusingnamespacestd;intmain()inti,n,sum=0,t=1;cinn;for(i=1;i=n;i+)t*=i;sum+=t;coutsumendl;return0;12、求 s=a+aa+ +a a,共 n 个,其中 n 和 a 从键盘输入#include#includeusingnamespacestd;intmain()ints=0,i,n,k,a,z,sum;couta;coutn;for(k=1;k=n;k+)for

14、(i=0;ik;i+)z=a*pow(10,i);s+=z;sum+=s;couts=sendl;return0;13、对三个数求平均数#includeusingnamespacestd;intmain()floata,b,c,ave=0;cinabc;ave=(a+b+c)/3;coutaveendl;return0;14、对多个数的求和#includeusingnamespacestd;intmain()floatx,ave=0,i;cinx;ave=x;for(i=1;x=0;i+)cinx;ave+=x;ave/=i;coutaveendl;return0;六、大小写字母的转换#inc

15、ludeusingnamespacestd;intmain()charch;coutch;if(ch=a&ch=z)ch+=-32;coutch=chendl;return0;#includeusingnamespacestd;intmain()charch;coutch;ch=(ch=a&ch=z)?ch-32:ch;coutch=chendl;return0;七、输入一行字符,分别统计其中英文字母,数字,空格,其他字符的个数。#includeusingnamespacestd;intmain()charc;intletters=0,space=0,digit=0,other=0;coute

16、nteroneline:=a&c=A&c=0&c=9)digit+;elseother+;coutletter:letterstspace:spacetdigit:digittother:otherendl;return0;八、求水仙花数,即一个三位数,各位的数字的立方和等于该数本身。#include#include/ 要使用数学库函数,加入此命令。usingnamespacestd;intmain()intm,a,b,c;for(m=100;m=999;m+)a=m/100;/*a 为三位数百位数的值 */b=m/10%10;/*b 为三位数十位数的值 */c=m%10;/*c 为三位数个位

17、数的值 */if(m=pow(a,3)+pow(b,3)+pow(c,3)/pow(x,y) 的作用是求 xy.coutm=mendl;return0;九、打印输出如下“ * ”金字塔。*#include/* 打印金字塔 */usingnamespacestd;intmain()inti,j;for(i=1;i=5;i+)for(j=1;j=5-i;j+)cout;for(j=1;j=2*i-1;j+)cout*;coutendl;return0;十、打印出九乘九乘法表#includeusingnamespacestd;intmain()inti,j;for(i=1;i=9;i+)for(j=

18、1;j=i;j+)couti*j=i*jt;coutendl;return0;十一、输入两个正整数,求它们的最大公约数和最小公倍数。#includeusingnamespacestd;intmain()intp,r,n,m,temp;coutnm;if(nm)temp=n;n=m;m=temp;p=m*n;while(m!=0)r=n%m;n=m;m=r;cout最大公约数为 =nendl;cout最小公倍数为 =p/nendl;return0;十二、将一个一位数组逆序输出。#includeusingnamespacestd;intmain()inti,a10=1,2,3,4,5,6,7,8,

19、9,10,j,t;cout原数组中的数据: n;for(i=0;i10;i+)coutait;coutendl;for(i=0;i=4;i+)j=9-i;t=ai;ai=aj;aj=t;cout逆序存放后的数据 :endl;for(i=0;i10;i+)coutait;coutendl;return0;十三、求 Fibonacci数列#includeusingnamespacestd;intmain()inti,f20=1,1;for(i=2;i20;i+)fi=fi-2+fi-1;for(i=0;i20;i+)couttfi;if(i+1)%5=0)coutendl;return0;十四、冒

20、泡排序#includeusingnamespacestd;intmain()inta21,i,j,t;coutInput20numbers:endl;for(i=1;iai;for(j=1;j=20;j+)for(i=1;iai+1)t=ai;ai=ai+1;ai+1=t;coutendlThesortednumbers:n;for(i=1;i=20;i+)coutait;if(i%5=0)coutendl;return0;十五、选择排序#includeusingnamespacestd;intmain()inta20,i,j,t,p;coutInput20numbers:endl;for(i

21、=0;iai;for(i=0;i19;i+)p=i;for(j=i+1;j20;j+)if(ajap)p=j;if(p!=i)t=ai;ai=ap;ap=t;coutThesortednumbers:n;for(i=0;i20;i+)coutait;coutendl;return0;Xx1十六、2x-11=x10Y=#include 3x-11x=10usingnamespacestd;intmain()intx,y;cinx;if(x1)y=x;elseif(x10)y=2*x-1;elsey=3*x-11;couty=yendl;return0;十七、给出一个百分制成绩,要求输出等级。成绩

22、分为5 个等级,分别为A(90 100), B(80 89), C(70 89), D(60 69), E( 0 59)利用 switch 语句注:在执行 switch 语句时,根据 switch 表达式的值找到与之匹配的 case子句开始执行对应的表达式,如果没有 break 语句跳出分支结构,程序将一直向下执行下去,不再进行判断。#includeusingnamespacestd;intmain()intscore;chargrade;cinscore;switch(score/10)case9:grade=A;break;case8:grade=B;break;case7:grade=C

23、;break;case6:grade=D;break;default:grade=E;coutgradeendl;return0;利用 if 语句。#includeusingnamespacestd;intmain()intscore;chargrade;cinscore;if(score=90)grade=A;elseif(score=80)grade=B;elseif(score=70)grade=C;elseif(score=60)grade=D;elsegrade=E;coutgradeendl;return0;2、输入一个正整数n,再输入 n 个学生的成绩,计算平均值,并统计各等级成

24、绩的个数。成绩分为 5 个等级,分别为 A(90 100),B( 80 89),C(70 89),D(60 69),E( 0 59)#includeusingnamespacestd;intmain()intn,i,score,sum=0,ave,a=0,b=0,c=0,d=0,e=0;cinn;for(i=1;iscore;sum=score;switch(score/10)case9:a+;break;case8:b+;break;case7:c+;break;case6:d+;break;default:e+;sum+=score;ave=sum/n;coutave=aveA=aB=bC

25、=cD=dE=eendl;return0;十八、从键盘输入若干个学生的成绩,统计并输出最高成绩、最低成绩和平均分,当输入负数时结束输入。#includeusingnamespacestd;intmain()inttemp,max=0,min=0,i=0,ave=0;couttemp;max=temp;min=temp;for(;)if(tempmax)max=temp;if(temptemp;ave/=i;coutmax=maxtmin=mintave=aveendl;return0;十九、数组元素的输入和输出对一维数组元素的输入和输出都需要利用for 循环语句进行操作1、对一维数组的输入数组元素有 n 个,则for(i=0;iai;输出for(i=0;in;i+)coutai;对二维数组 amn输入for(i=0;im;i+)for(j=0;jamn;输出for(i=0;im;i+)for(j=0;jn;j+)coutamn;coutendl;

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