程序思考题 解题.docx
- 文档编号:23317632
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:20
- 大小:19.67KB
程序思考题 解题.docx
《程序思考题 解题.docx》由会员分享,可在线阅读,更多相关《程序思考题 解题.docx(20页珍藏版)》请在冰豆网上搜索。
程序思考题解题
将一整数转换成字符串(递归法)
#include
usingnamespacestd;
intmain()
{voidconvert(intn);
intnumber;
cout<<"inputaninteger:
";
cin>>number;
cout<<"output:
"< if(number<0) {cout<<"-"; number=-number;} convert(number); cout< return0;} voidconvert(intn) {inti; charc; if((i=n/10)! =0) convert(i); c=n%10+'0'; cout<<""< 求1+2+…+n(递归法) #include usingnamespacestd; intmain() {intf(int); intn,s; cout<<"inputthenumbern: "; cin>>n; s=f(n); cout<<"Theresultis"< return0;} intf(intn) {; if(n==1) return1; else return(n*n+f(n-1));} 求a^m #include usingnamespacestd; inta; intmain() {intpower(int); intb=3,d,m; cout<<"enteranintegeraanditspowerm: "< cin>>a>>m; d=power(m); cout< return0;} intpower(intn) {inti,y=1; for(i=1;i<=n;i++) y*=a; returny;} 判别素数 #include usingnamespacestd; intmain() {intprime(int); intn; cout<<"inputaninteger: "; cin>>n; if(prime(n)) cout< else cout< return0;} intprime(intn) {intflag=1,i; for(i=2;i if(n%i==0) flag=0; return(flag);} 求n的阶乘 #include usingnamespacestd; intmain() {intfac(int); inta,sum=0; cout<<"entera: "; cin>>a; sum=fac(a); cout< +"< return0;} intfac(intn) {intf=1; for(inti=1;i<=n;i++) f=f*i; returnf;} 将n个字符串中的以字母A打头的字符串输出 #include #include usingnamespacestd; intmain() {constintn=5; stringstr; for(inti=0;i {cout<<"pleaseinputstring: "; cin>>str; if(str[0]=='A') cout< return0;} 用选择法对n(or10)个整数进行排序 #include #include usingnamespacestd; intmain() {inti,j,min,temp,a[11]; cout<<"enterdata: "< for(i=1;i<=10;i++) {cout<<"a["< cin>>a[i];}//输入10个数 cout< "< for(i=1;i<=10;i++) cout< cout< for(i=1;i<=9;i++)//以下8行是对10个数排序 {min=i; for(j=i+1;j<=10;j++) if(a[min]>a[j])min=j; temp=a[i];//以下3行将a[i+1]~a[10]中最小者与a[i]对换 a[i]=a[min]; a[min]=temp;} cout< "< for(i=1;i<=10;i++)//输出已排好序的10个数 cout< cout< return0;} 求一个n(or3)阶矩阵对角线元素之和 #include usingnamespacestd; intmain() {inta[3][3],sum=0; inti,j; cout<<"enterdata: "< for(i=0;i<3;i++) for(j=0;j<3;j++) cin>>a[i][j]; for(i=0;i<3;i++) sum=sum+a[i][i]; cout<<"sum="< return0;} 在一个含有n个元素,且已按从小到大的顺序排好的数组中,将一个数插入到这个数组中 #include usingnamespacestd; intmain() {inta[11]={1,4,6,9,13,16,19,28,40,100}; intnum,i,j; cout<<"arraya: "< for(i=0;i<10;i++) cout< cout< cout<<"insertdata: "; cin>>num; if(num>a[9]) a[10]=num; else {for(i=0;i<10;i++) {if(a[i]>num) {for(j=9;j>=i;j--) a[j+1]=a[j]; a[i]=num; break;}}} cout<<"Now,arraya: "< for(i=0;i<11;i++) cout< cout< return0;} 将一个含有n个元素的数组中的值按逆序存放 #include usingnamespacestd; intmain() {constintn=5; inta[n],i,temp; cout<<"enterarraya: "< for(i=0;i cin>>a[i]; cout<<"arraya: "< for(i=0;i cout<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序思考题 解题 程序 思考题