江苏科技大学C++试验设计报告.doc

上传人:wj 文档编号:4866447 上传时间:2023-05-07 格式:DOC 页数:16 大小:177.50KB
下载 相关 举报
江苏科技大学C++试验设计报告.doc_第1页
第1页 / 共16页
江苏科技大学C++试验设计报告.doc_第2页
第2页 / 共16页
江苏科技大学C++试验设计报告.doc_第3页
第3页 / 共16页
江苏科技大学C++试验设计报告.doc_第4页
第4页 / 共16页
江苏科技大学C++试验设计报告.doc_第5页
第5页 / 共16页
江苏科技大学C++试验设计报告.doc_第6页
第6页 / 共16页
江苏科技大学C++试验设计报告.doc_第7页
第7页 / 共16页
江苏科技大学C++试验设计报告.doc_第8页
第8页 / 共16页
江苏科技大学C++试验设计报告.doc_第9页
第9页 / 共16页
江苏科技大学C++试验设计报告.doc_第10页
第10页 / 共16页
江苏科技大学C++试验设计报告.doc_第11页
第11页 / 共16页
江苏科技大学C++试验设计报告.doc_第12页
第12页 / 共16页
江苏科技大学C++试验设计报告.doc_第13页
第13页 / 共16页
江苏科技大学C++试验设计报告.doc_第14页
第14页 / 共16页
江苏科技大学C++试验设计报告.doc_第15页
第15页 / 共16页
江苏科技大学C++试验设计报告.doc_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

江苏科技大学C++试验设计报告.doc

《江苏科技大学C++试验设计报告.doc》由会员分享,可在线阅读,更多相关《江苏科技大学C++试验设计报告.doc(16页珍藏版)》请在冰点文库上搜索。

江苏科技大学C++试验设计报告.doc

第一题:

从键盘上输入一个整数n的值,按下时求出y的值,并输出n和y的值Y=1!

+2!

+3!

+······+n!

源程序清单:

#include

voidmain()

{

intt=1,n,y=0;

cout<<"n=?

"<<'\n';

cin>>n;

cout<<"n="<

for(inti=1;i<=n;i++)

{

t=t*i;

y=y+t;

}

cout<<"y="<

}

运行结果:

第二题:

设计一个程序,求出100~10000之间的所有素数。

源程序清单:

#include

#include

voidmain()

{

inti,n,count=0;

for(n=101;n<1000;n++)

{

for(i=2;i<=n-1;i++)

if(n%i==0)break;

if(i>n-1)

{

cout<

count++;

if(count%10==0)cout<

}

}

cout<

}

运行结果:

第三题:

设计一个程序,输入一个任意整数(1~4位),求出各位数字之和,并统计出位数

源程序清单:

#include

voidmain()

{

intn,k,s=0,t=0;

cout<<"n=?

"<

cin>>n;

while(n)

{

k=n%10;

n=n/10;

s=s+k;

t=t+1;

}

cout<

}

运行结果:

第四题:

设计一个程序,计算组合数:

C(m,r)=m!

/(r!

*(m-r)!

),其中m、r为正整数,且m>r。

分别求出C(4,2)、C(6,4)、C(8,7)的值。

要求用函数来实现求阶乘和组合数,在主函数中测试。

源程序清单:

#include

#include

floatf(intn){

if(n<0){

cout<<"n应为正数!

\n";}

floats;

if(n==1||n==0)

return1;

else

s=n*f(n-1);

returns;}

floatc(intm,intr){

if(m

cout<<"m不应小于r!

\n";}

returnf(m)/(f(r)*f(m-r));}

voidmain(){

intm,r;

cin>>m>>r;

cout<<"c("<

运行结果:

第五题:

设计一个程序,用筛选法求出3~100之间的所有素数,要求每行输出5个素数。

判断一个整数是否为素数应设计一个函数来实现。

源程序清单:

#include

#include

intfun(intn)

{

for(inti=2;i

if(n%i==0)return0;

return1;

}

voidmain()

{

intcount=0;

for(inti=3;i<100;i++)

if(fun(i))

{

cout<

count++;

if(count%5==0)cout<<'\n';

}

cout<<'\n';

}

运行结果:

第六题:

把二维数组a赋值给b,并把b中元素的值等于a中对应元素的平方。

源程序清单:

#include

#include

voidmain()

{

inta[3][4],b[3][4],i,j;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

cin>>a[i][j];

for(i=0;i<3;i++)

for(j=0;j<4;j++)

b[i][j]=a[i][j]*a[i][j];

for(i=0;i<3;i++)

{

for(j=0;j<4;j++)

cout<

cout<<'\n';

}

}

运行结果:

第七题:

下面的程序求出1000以内的孪生质数的对数(改错题)。

源程序清单:

#include

#include

#include

intisprime(intx)

{

intk,i;

k=(int)sqrt(x);

for(i=2;i<=k;i++)

if(x%i==0)return(0);

return

(1);

}

voidmain()

{

inta[500],count,k=0;

intb[35][2];

for(inti=3;i<1000;i+=2)

if(isprime(i))a[k++]=i;

count=0;

for(i=0;i

{

if(a[i+1]-a[i]==2)

{

b[count][0]=a[i];

b[count++][1]=a[i+1];

}

}

for(i=0;i

{

if(i%5==0)cout<<'\n';

cout<<'('<

}

cout<

}

运行结果:

第八题:

有两个字符串,将主字符串中的所有子字符串删去并输出,例如,主字符串为“Thisisaverygoodbook”,子字符串为“book”,结果为“Thisisaverygood”。

源程序清单:

#include

#include

intwithstr(char*s1,char*subs)

{

while(*subs&&*s1==*subs)

{s1++;subs++;}

return!

(*subs);

}

char*delsub(char*s1,char*subs)

{

char*p1,*p2;

intlen=strlen(subs);

p2=p1=s1;

while(*p1)

{

if(withstr(p1,subs))p1+=len;

else*p2++=*p1++;

}

*p2='\0';

returns1;

}

voidmain()

{

charstr1[80]="Thisisaverygoodbook";

charstr2[40]="book";

cout<

cout<

}

运行结果:

第九题:

设计一个通用函数查询一个带通配符“?

”的字符串在另一个字符串中出现的次数,在主程序中进行测试。

源程序清单:

#include

intfun(char*str,char*sear,int&n){

n=0;

char*s,*f;

for(;*str;str++){

if(*str==*sear||*sear==‘?

’){

s=str; f=sear;

s++; f++;

if(*f==‘?

’){

if(*(f+1)==‘\0’&&*s!

=‘\0’)n++;

else{s++;f++;}

while(*s++==*f++)

if(*f==‘\0’){n++;break; }

}

}

}

returnn;

}

voidmain(){

intn;

charstr[81],s0[10];

cout<<“请输入被查询的字符:

\n”;

cin.getline(str,80);

cout<<“请输入要查询的字符:

\n”;

cin.getline(s0,9);

if(fun(str,s0,n))cout<

”;

elsecout<

”;

cout<

}

运行结果为:

第十题:

定义一个函数,删除一个字符串中所有非数字字符并将剩下的数字字符转化为一个整数。

源程序清单:

#include

#include

char*del(char*str){

for(char*p1=str;*p1;p1++)

if(*p1<'0'||*p1>'9'){

for(char*p2=p1;*p2;p2++)

*p2=*(p2+1);

if(*p1<'0'||*p1>'9')p1--;

}

returnstr;

}

intvale(char*str){

ints=0;

char*p=str+strlen(str)-1;

for(;p>=str;p--)

s=s*10+*p-'0';

returns;

}

voidmain(){

chars[]="3fgh21%$#78UI*";

cout<

cout<

cout<

}

运行结果为:

第十一题:

已知函数voidstat(char*[3],int&,int*,int*),分别统计3个字符串中所有的数字字符,英文字母及其他字符的数量,编写程序测试该函数。

源程序清单:

#include

voidstat(char*s[3],int&num,int*aphlet,int*other){

inti;

char*p;

num=*aphlet=*other=0;

for(i=0;i<3;i++){

p=s[i];

cout<<"s"<

"<

while(*p){

if(*p>='0'&&*p<='9')num++;

elseif(*p>='A'&&*p<='Z'||*p>='a'&&*p<='z')(*aphlet)++;

else(*other)++;

p++;

}

}

}

voidmain(){

char*s[3]={"1Ab12c/#$&De","(tGkp9h7*cGHd+","Tj^g587dd@fHD%f52nG="};

intn,a,o;

stat(s,n,&a,&o);

cout<<"num="<

cout<<"aphlet="<

cout<<"other="<

}

运行结果为:

第十二题:

建立一个类SUM,求一个二维数组外围各元素之和,并输出数组中各元素所求之和。

具体要求如下:

(1)私有数据成员

intarray[5][5];//二维整型数组

ints;//数组array各外围元素之和

(2)公有成员函数

SUM(intd[5][5]):

构造函数,初始化成员数据

voidprocess():

求二维数组外围元素之和s

voidprint():

输出二维数组(每行输出五个元素)及其外围元素之和

(3)在主程序中对该类进行测试。

使用如下测试数据。

(外围元素是指阴影部分的元素)

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

(10)

(11)

(12)

(13)

(14)

(15)

(16)

(17)

(18)

(19)

(20)

(21)

(22)

(23)

(24)

(25)

源程序清单:

#include

classSUM{

intarray[5][5];

ints;

public:

SUM(intd[5][5]);

voidprocess();

voidprint();

};

SUM:

:

SUM(intd[5][5]){

for(inti=0;i<5;i++)

for(intj=0;j<5;j++)

array[i][j]=d[i][j];

};

voidSUM:

:

process(){

intt=0,t1=0;

for(inti=0;i<5;i++)

for(intj=0;j<5;j++)

t+=array[i][j];

for(i=1;i<4;i++)

for(intj=0;j<5;j++)

t1+=array[i][j];

s=t+t1;

};

voidSUM:

:

print(){

for(inti=0;i<5;i++){

for(intj=0;j<5;j++)

cout<

cout<<'\n';}

cout<<"SUM="<

voidmain(){

intaa[5][5];

inta=1;

for(inti=0;i<5;i++)

for(intj=0;j<5;j++)

aa[i][j]=a++;

SUMss(aa);

ss.process();

ss.print();

}

运行结果:

老师辛苦!

谢谢您!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2