程序设计基础实验报告.docx
- 文档编号:24249943
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:47
- 大小:496.26KB
程序设计基础实验报告.docx
《程序设计基础实验报告.docx》由会员分享,可在线阅读,更多相关《程序设计基础实验报告.docx(47页珍藏版)》请在冰豆网上搜索。
程序设计基础实验报告
程序设计基础
实验一
(3)<2>读入三个整数a、b、c,交换它们中的数,使a存放b的值,b存放c的值,c存放a的值。
#include
voidmain()
{
inta,b,c,temp;
cout<<"inputa,b,c";
cin>>a>>b>>c;
temp=a;
a=b;
b=c;
c=temp;
cout< } (3)<3>对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。 例如,输入为1234时,输出结果为4,3,2,1。 #include voidmain() { inta,b,c,d,n; cout<<"inputnumbern"; cin>>n; if(n>999&&n<10000){ a=n/1000; b=(n%1000)/100; c=(n%100)/10; d=n%10; cout< }elsecout<<"error"; } 实验二 (2)<1>求解下面函数的值。 ex+yx<0,y<0 z=ln(x+y)1≤x+y〈10 log10|x+y|+1其它情况 #include #include voidmain() { floatx,y,z; cout<<"input2number"; cin>>x>>y; if(x<0&&y<0){ z=exp(x+y); } if(x+y>=1&&x+y<10){ z=log(x+y); }elsez=log10(fabs(x+y)+1); cout< } <2>编程求解下列各计算式: 1)S= =1+2+3+…+100 #include voidmain() { inti,n,s; s=0; for(i=1;i<=100;i++){ s=s+i; } cout< } 2)S= =1! +2! +…+7! #include voidmain() { inti,t,s; s=0; t=1; for(i=1;i<=7;i++){ t=t*i; s=s+t; } cout< } 4)Y=X- + - +…+(-1)n+1 +…的值,精确到10-6。 #include #include usingnamespacestd; floatf(intx,intn) { ints=1; for(inti=1;i<=n;i++)s*=i; returnpow(x,n)/s; } intmain() { floatx,y=0; cout<<"enterx"< cin>>x; for(inti=1;i+=2;){ y+=pow(-1,i+1)*f(x,i); if(f(x,i)<1e-6)break; } cout< return0; } <3>打印下面图形。 1 131 13531 1357531 135797531 ………………… 13……21………31 #include #include #include intmain() { for(inti=1;i<=11;i++){ for(intj=1;j<=11-i;j++) cout<<""; for(j=1;j<=2*i-1;j++)cout< cout< } return0; } <4>编程产生出1到10以内的所有数对并输出,其中i>j。 #include voidmain() { inti,j; for(i=1;i<=10;i++){ for(j=1;j cout<<"<"<"; cout< } } <5>编程求出10000以内的所有符合如下条件的数: 其高位数字小于低位数字。 如12,238,3578等。 但21,548不符合条件。 #include voidmain() { inti; for(i=10;i<100;i++){ if(i/10 } for(i=100;i<1000;i++){ if(i/100<(i%100)/10&&(i%100)/10 } for(i=1000;i<10000;i++){ if(i/1000<(i%1000)/100&&(i%1000)/100<(i%100)/10&&(i%100)/10 } } 实验三 <1>编程产生下列数组,并输出。 2)(13610152128364555) #include voidmain() { inti,a[10]; for(i=0;i<10;i++){ a[i]=(i+1)*(i+2)/2; } for(i=0;i<10;i++) cout< } ⑵二维数组 4)ABCDEF BCEHLQ CDFIMR DEGJNS EFHKOT #include voidmain() { inti,j; chara[5][6]; for(i=0,j=0;j<6;j++) a[i][j]='A'+j; for(i=1;i<5;i++) for(j=0;j<6;j++){ a[i][j]='A'+i+j*(j+1)/2; } for(i=0;i<5;i++){ for(j=0;j<6;j++) cout< cout< } } <4>随机输入一组数组元素值,利用题<2>使一个数组有序。 然后随机输入一个数,用折半查找法在数组中查找,如在数组中,则输出元素在数组中的位置;如不在,则输出提示 #include usingnamespacestd; constintn=10; intmain() { inti,k,temp,a[n]; for(k=0;k cin>>a[k]; for(k=0;k<10;k++){ for(i=0;i<10;i++){ if(a[i]>a[i+1]){ temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } } } for(i=0;i<10;i++) cout< cout< intmid; intlow=1,high=n; intnum; cin>>num; while(low<=high){ mid=(low+high)/2; if(num==a[mid]) break; elseif(num high=mid-1; elselow=mid+1; } if(num==a[mid]) cout<<"所查找的数在第"< else cout<<"不存在这个数"< return0; } <2>判断一个二维数组是否有“鞍点”,即该位置上的元素在该行上最大,在该列上最小。 如有,输出其行列号和值;若无,给出提示。 (数组元素的值用scanf输入) #include #include constintrow=3; constintcol=3; voidmain() { inti=0,j=0,d; intb,c,count=0; inta[row][col]; cout<<"输入数组"< for(i=0;i for(j=0;j for(i=0;i b=i;c=j; for(j=0;j if(a[b][c]<=a[i][j]){ b=i; c=j; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 实验 报告