您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 同济大学c++ 实验1到实验8前三题
实验4:1.#include“iostream.h”voidmain(){intn,sum=0;for(n=1;;sum+=n,n+=2)if(n=20)break;cout”sum=”sumendl;}2.#include“iostream.h”voidmain(){intx;cout”inputx:”endl;cinx;if(x==0)cout”0″;elsewhile(x!=0){coutx%10;x=x/10;}coutendl;}3.#include“iostream.h”voidmain(){inti,t=1;floats=0;for(i=1;1.0/t1e-4;i++){s=s+1.0/t;t=t+i;}cout”s=”sendl;}4.#include“iostream.h”voidmain(){doublepi=1,t=2;intn;for(n=1;t1e-4;n++){pi=pi*t;t=(float)((2*n)*(2*n))/((2*n-1)*(2*n+1));}cout”pi=”piendl;}5.(1)#include“iostream.h”#include“iomanip.h”voidmain(){inti,j;for(i=1;i=9;i++){coutsetw(20-i);for(j=1;j=2*i-1;j++)couti;coutendl;}}5.(2)#include“iostream.h”#include“iomanip.h”voidmain(){inti,j;charc;for(i=9;i=1;i–){coutsetw(9-i)”;c=9-i+’A';for(j=1;j=2*i;j++)coutc;coutendl;}}6.#include“iostream.h”voidmain(){intm,m1,m2,m3;for(m=100;m1000;m++){m1=m%10;m2=m/10%10;m3=m/100;if(m1*m1*m1+m2*m2*m2+m3*m3*m3==m)coutm”\t”;}}7.#include“iostream.h”#include“iomanip.h”voidmain(){intx,y,z,k=0;for(x=1;x=6;x++)for(y=x+1;y=6;y++)for(z=5;z=6;z++)if(xy&&yz){k++;coutx’\t’y’\t’zendl;}cout”满足条件的方案有:”kendl;}8.#include“iostream.h”#include“stdlib.h”#include“time.h”voidmain(){inta,n,i,k;doubles=0,temp=0;srand(time(NULL));a=rand()%9+1;n=rand()%6+5;for(i=1;i=n;i++){temp=temp*10+a;s=s+temp;}cout”s=”sendl;}9.#include“iostream.h”#include“math.h”voidmain(){floata,x,x1;cina;x=a;do{x1=x;x=2.0/3*x+a/(3*x*x);}while(fabs(x-x1)1e-5);cout”编程求得x=”xendl;cout”调用函数求得x=”pow(a,1.0/3)endl;}实验5:#include“stdlib.h”#include“iostream.h”voidmain(){inta[10],i,max,min;floatave;for(i=0;i10;i++)a[i]=rand()%71+30;cout”数组a的内容如下:\n”;for(i=0;i10;i++)couta[i]’‘;coutendl;max=min=ave=a[0];for(i=1;i10;i++){ave=ave+a[i];if(a[i]max)max=a[i];if(a[i]min)min=a[i];}cout”max=”max”,min=”min”,ave=”ave/10endl;}2.#includeiostream.h#defineN20#include“stdlib.h”voidmain(){inta[N],i,j,k;cout”排序前:\n”;for(i=0;iN;i++){a[i]=rand()%101;couta[i]’‘;}for(i=0;iN-1;i++){k=i;for(j=i+1;jN;j++)if(a[j]a[k])k=j;if(k!=i){intt=a[k];a[k]=a[i];a[i]=t;}}cout”排序后:\n”;for(i=0;iN;i++)couta[i]’‘;}3.#include“iostream.h”#include“stdlib.h”voidmain(){inti,j,s[10],t,n;for(i=0;i10;i++){s[i]=rand()%101;couts[i]”“;}coutendl;cinn;for(j=0;jn;j++){t=s[9];for(i=8;i=0;i–){s[i+1]=s[i];}s[0]=t;}for(i=0;i10;i++)couts[i]”“;}4.见第四章习题编程题1答案。5.(1)#includeiostream.h#includeiomanip.hvoidmain(){inta[10][10],i,j,n;cinn;for(i=0;in;i++){a[i][0]=1;a[i][i]=1;}for(i=2;in;i++)for(j=1;ji;j++)a[i][j]=a[i-1][j]+a[i-1][j-1];for(i=0;in;i++){for(j=0;j=i;j++){coutsetw(6)a[i][j];}coutendl;}}(2)#includeiostream.h#includeiomanip.hvoidmain(){inta[10][10],i,j,n;cinn;for(i=0;in;i++){a[i][0]=1;a[i][i]=1;}for(i=2;in;i++)for(j=1;ji;j++)a[i][j]=a[i-1][j]+a[i-1][j-1];for(i=0;in;i++){coutsetw((n-i)*3)”“;for(j=0;j=i;j++){coutsetw(6)a[i][j];}coutendl;}}6.方法一:#include“stdio.h”#include“string.h”voidmain(){chars[80],ch;inti,len;gets(s);len=strlen(s);for(i=0;ilen/2;i++){ch=s[i];s[i]=s[len-i-1];s[len-i-1]=ch;}puts(s);}方法二:#include“stdio.h”#include“string.h”voidmain(){char*p,*p1,*p2,ch;inti,len=0;p=p1=p2=newchar[80];gets(p1);while(*p2!=’\0′)p2++;p2–;while(p1p2){ch=*p1;*p1=*p2;*p2=ch;p1++;p2–;}puts(p);}7.#include“stdio.h”#include“iostream.h”voidmain(){chars[80],ch;inti,j;gets(s);cinch;while(1){for(i=0;s[i]!=’\0′;i++)if(s[i]==ch)break;if(s[i]==’\0′)break;for(j=i;s[j]!=’\0′;j++)s[j]=s[j+1];s[j]=’\0′;}puts(s);}8.方法一:#includeiostream.h#include“stdio.h”voidmain(){chars[80];gets(s);inti=0;while(s[i]!=’\0′){if(s[i]=’A'&&s[i]=’Z')s[i]=s[i]+32;i++;}puts(s);}方法二:#include“stdio.h”voidmain(){chars[80],*p=s;gets(s);while(*p!=’\0′){if(*p=’A'&&*p=’Z')*p=*p+32;p++;}puts(s);}实验6:1.编一判断m是否为素数的函数,并在主函数中利用它输出十对最小的孪生素数。所谓孪生素数是指两个相差为2的素数,如3和5,11和13。输出形式如图2.6.1。函数形式为:boolisprime(intm);#include“iostream.h”intisprime(intm)//判别m是否为质数{inti;for(i=2;m%i!=0;i++);return(i==m);}voidmain(){intx,count=0;x=2;while(1){if(isprime(x)&&isprime(x+2)){count++;cout”(“x”,”x+2”)”endl;if(count=10)break;}x++;}}2.编一函数,功能为构造正整数x的逆序数。再编一主函数,输出10个大于10000的最小的回文数。回文数是指顺读和倒读都相同的数,如5、151、3553等。函数形式为:intreverse(intx);#include”iostream.h”#include”stdlib.h”#include”time.h”intf(inta){intb,c=0;while(a!=0){b=a%10;c=c*10+b;a/=10;}returnc;}voidmain(){intx,i,k=0,t;booltag=true;srand(time(NULL));for(x=10000;k10;x++){if(f(x)==x){coutxendl;k++;if(k==10)break;}}}3.编一函数,功能为判断一字符串是否为回文,如果是回文则返回1,否则返回0。回文是指顺读和倒读都一样的字符串,如“deed”和“level”是回文。在主函数中对输入的字符串加以调用。函数形式为:inthuiwen(chars[]);#includeiostream.h#includestring.h#includestdio.hinthuiwen(chars[]){inti,n=0;charch,s1[80];strcpy(s1,s);//原来的字符串保留在s1中while(s[n])n++;//求字符串长度for(i=0;in/2;i++)//构造逆序的字符串{ch=s[i];s[i]=s[n-i-1];s[n-i-1]=ch;}if(strcmp(s1,s)==0)return1;elsereturn0;}voidmain(){chars[80];inti,count=0;cout”输入5个字符串:”endl;for(i=0;i5;i++){gets(s);if(huiwen(s))count++;}cout”回文个数:”countendl;}4.函数的功能是将学生成绩从高分到低分排序,并统计优秀与不及格的人数。用下面两种方法实现:(1)函数形式为:intfun(ints[],intn,int*x);要求优秀人数通过return返回,不及格人
本文标题:同济大学c++ 实验1到实验8前三题
链接地址:https://www.777doc.com/doc-5124832 .html