江苏科技大学C++试验设计报告.doc
- 文档编号:1264831
- 上传时间:2022-10-19
- 格式:DOC
- 页数:16
- 大小:177.50KB
江苏科技大学C++试验设计报告.doc
《江苏科技大学C++试验设计报告.doc》由会员分享,可在线阅读,更多相关《江苏科技大学C++试验设计报告.doc(16页珍藏版)》请在冰豆网上搜索。
实
验
报
告
第一题:
从键盘上输入一个整数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*cG
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江苏 科技大学 C+ 试验 设计 报告