江苏科技大学c++课程解析实训答案文档格式.docx
- 文档编号:18702741
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:105
- 大小:48.42KB
江苏科技大学c++课程解析实训答案文档格式.docx
《江苏科技大学c++课程解析实训答案文档格式.docx》由会员分享,可在线阅读,更多相关《江苏科技大学c++课程解析实训答案文档格式.docx(105页珍藏版)》请在冰豆网上搜索。
b=x/10%10;
c=x%10;
m=c*100+b*10+a;
n=m-x;
反序组成的新3位整数为:
m<
新3位整数减去原3位整数的值为:
n<
四、实验
1.
cout<
"
中华人民共和国"
endl;
#include<
voidmain(void)
{inta,b,c;
cin>
a>
b;
c=a+b;
cout<
c="
c<
}
3.结果:
10101
(1)结果为:
101616810
(2)换成dec结果为:
a10108a
换成oec结果为:
1220201012
4.
math.h>
{inta,b,c,s,area;
输入三角形三边长a,b,c:
b>
c;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
三角形面积为:
第二章
1.B2.A3.A4.C5.B6.C7.B8.B9.B10.D
11.B12.D13.D14.D15.A16.D17.C18.C19.A20.C
21.B22.A23.D24.A25.B26.B27.D28.C29.B30.D
31.B32.A33.C34.C
1.选择结构循环结构
2.if
3.breakcontinue
4.循环语句switch语句
5.循环语句
6.11结束循环体的语句
7.60,30
8.d=20
10.10
11.y=0y=5y=30error
12.117
13.2,3
14.2,3
15.#
16.s=6,k=5
17.5711
13
18.02468
19.
******
**
******
20.
(1)Year/4!
=0
(2)Year/100!
(3)Year/400!
21.
(1)a<
b
(2)t=a;
a=d;
d=t;
(3)b<
d
22.
(1)c+=5
(2)c=c-21
23.
(1)ch>
='
a'
&
ch<
z'
||ch>
A'
Z'
(2)ch-=32
(3)ch+=32
24.
(1)x>
2&
x<
=10
(2)x>
-1
(3)y=-1
25.
(1)inti=200
(2)i<
=300
(3)i/100+i/10%10+i%10==12&
(i/100)*(i/10%10)*(i%10)==42
26.
(1)i<
=100
(2)t=s/i
(3)s=-s
27.
(1)n(或n!
=0)
(2)n<
(3)n/=10
28.
(1)n=k*k
(2)b=n/10%10
(3)a==b||b==c||c==a
29.
(1)i<
=30
(2)a=a*2
30.
(1)m=n
(2)m
(3)k>
s
31.
(1)x1
(2)x1=x2
32.
(1)d<
=4
(2)a+i*d
{intx,y,t,m,n;
输入两个整数(x,y):
x>
y;
if(x>
y){t=x;
x=y;
y=t;
for(inti=x;
i>
0;
i--)
if(x%i==0&
y%i==0){m=i;
break;
for(i=y;
;
i++)
if(i%x==0&
i%y==0){n=i;
和"
y<
的最大公约数是:
的最小公倍数是:
voidmain(void)
{ints;
charscore;
do{
cout<
请输入百分制分数(0-100):
cin>
s;
}while(s<
0||s>
100);
switch(s/10){
case10:
case9:
score='
case8:
B'
case7:
C'
case6:
D'
default:
E'
}
百分制分数为:
s<
'
\t'
五分制分数为:
score<
3.
{floata,b,c;
输入三角形的三边:
if(a+b>
c&
b+c>
a&
c+a>
b)
{if(a==b&
b==c)
cout<
三角形是等边三角形。
\n"
elseif(a==b||b==c||c==a)
cout<
三角形是等腰三角形。
elseif(a*a+b*b==c*c||b*b+c*c==a*a||c*c+a*a==b*b)
三角形是直角三角形。
elsecout<
三角形是一般三角形。
}
三边不构成三角形。
#include<
{doubles=1.0;
doublen=1.0;
for(intj=1;
j<
=30;
j++)
{n/=j;
s+=n;
s="
2.
{inta,b,c,t;
请输入三个互不相同的整数:
if(a>
b){t=a;
a=b;
b=t;
c){t=a;
a=c;
c=t;
if(b>
c){t=b;
b=c;
a<
b<
voidmain(){
floatx0,x1,x2,fx0,fx1,fx2;
inputx1,x2:
cin>
x1>
x2;
fx1=x1*x1-2-x1;
//求出x1点的函数值fx1
fx2=x2*x2-2-x2;
//求出x2点的函数值fx2
}while(fx1*fx2>
0);
//保证在指定范围内有根,即fx的符号相反
x0=(x1+x2)/2;
fx0=x0*x0-2-x0;
//求出中点x0点的函数值fx0
if((fx0*fx1)<
0){//若fx0和fx1符号相反
x2=x0;
//则用x0点替代x2点
fx2=fx0;
else{
x1=x0;
//否则用x0点替代x1点
fx1=fx0;
}while(fabs((double)fx0)>
=1e-5);
//判断x0点的函数与x轴的距离
x="
x0<
\n'
iomanip.h>
ints;
for(intm=2;
1000;
m++){
s=0;
for(inti=1;
i<
m;
if(m%i==0)
s+=i;
if(s==m){
cout<
setw(8)<
是一个完数,它的因子是:
for(i=1;
if(m%i==0)
cout<
cout<
}
第三章
一、选择题
1.C2.C3.D4.C5.C6.D7.D8.D9.C10.B
11.D12.D13.D14.A15.C16.D17.B18.B19.A20.A
21.D22.A23.D24.C25.B 26.A27.D28.C29.C
二、填空题
1.
(1)首
(2)被改变
2.
(1)‘\0’
(2)0
3.
(1)字符型
(2)cin.getline(str,79)
4.
(1)2
(2)10(3)20
5.m*i+j+1
6.
(1)10
(2)20(含结束标记)
7.下标3
8.
(1)2
(2)8(3)4
9.
(1)*(x+i)
(2)*(p+i)(3)p[i]
10.“ab”
11.
(1)*(*(m+i)+j)
(2)*(m[i]+j)(3)(*(m+i))[j](4)*(&
m[0][0]+10*i+j)
12.
(1)定义了指向一维数组的指针(二维数组的行指针),所指向的一维数组有5个元素
(2)列数为5的二维数组(3)定义了一个指针数组,该数组有5个元素(4)5个整型地址
13.Theindexis:
7
14.1346
15.9765432
16.51234
17.Howdoesshe
18.n=16
19.#&
*&
%
20.ASZ
21.min=-3,row=3,col=0
22.
(1)235711
(2)1317192329
23.
(1)123
(2)14(3)36
24.07142128
25.
(1)0123abc
(2)23abc(3)89
26.ab567fgh
27.
(1)a[i]
(2)continue
28.
(1)a[i]
(2)5(3)a[i]=a[j],a[j]=m,m=a[i]
29.
(1)n
(2)n%10(3)p1++,p2--(4)b
30.
(1)n*n
(2)m[i]=a%10(3)t*=10(4)k==n*n
31.
(1)continue
(2)num++(3)num或num!
32.
(1)m=i
(2)n=i(3)a[m]=min,a[n]=max或i=a[m],a[m]=a[n],a[n]=i
33.
(1)i<
10
(2)i=0(3)(i+1)%10(4)(i+1)%3==0
34.
(1)<
n
(2)b[k]!
=0或b[k](3)i%m==0(4)n==0
35.
(1)chark
(2)strlen(s)-1(3)i++,j--(4)s[i]=s[j]
36.
(1)if(j%2!
=0)continue
(2)a[i]>
a[j]
37.
(1)intpos=0
(2)a[i]==c(3)break(4)pos
38.
(1)0
(2)a(3)sum/n(4)x[i]<
ave
39.
(1)a[i]
(2)i(3)4-i(4)cout<
endl
40.
(1)char*p=*p2
(2)*p
//1.合并有序序列{8,6,4}和{9,7,5,3,1}
inta[20]={8,6,4},b[10]={9,7,5,3,1},c[30]={0};
int*p1,*p2,*p3;
原数组为:
数组a:
\t"
for(p1=a;
*p1;
p1++)cout<
*p1<
endl<
数组b:
for(p2=b;
*p2;
p2++)cout<
*p2<
p1=a,p2=b,p3=c;
while(*p1&
*p2){
if(*p1>
*p2)*p3++=*p1++;
else*p3++=*p2++;
if(*p1==0)while(*p2)*p3++=*p2++;
elsewhile(*p1)*p3++=*p1++;
合并后的数组为:
数组c:
for(p3=c;
*p3;
p3++)
*p3<
//2.二维数组的鞍点
inta[4][5]={{23,14,65,7,20},{4,50,56,27,18},{2,3,58,32,29},{69,45,60,72,45}};
introw,col,t,f;
数组为:
for(inti=0;
4;
i++){
for(intj=0;
j<
5;
j++)
a[i][j]<
for(i=0;
f=1;
t=a[i][0];
row=i;
col=0;
if(a[i][j]>
t){
t=a[i][j];
col=j;
for(intk=0;
k<
k++)
if(a[k][col]<
t)f=0;
if(f)cout<
第"
i+1<
行鞍点元素为["
]["
col<
],值为:
a[i][col]<
elsecout<
行无鞍点\n"
//3.生成折叠矩阵
inta[4][4],startnum;
请输入起始数据startnum:
startnum=\t"
startnum;
=i;
a[j][i]=startnum++;
for(j-=2;
j>
=0;
j--)
a[i][j]=startnum++;
折叠矩阵为:
//4.将二维数组的每行元素按降序排列
stdlib.h>
voidsort(int*a,intn){
n-1;
intk=i;
for(intj=i+1;
n;
if(a[j]>
a[k])k=j;
if(k!
=i)
{
intt=a[i];
a[i]=a[k];
a[k]=t;
voidprint(int(*a)[6],intn){
for(inti=0;
6;
inta[5][6];
a[i][j]=rand();
print(a,5);
sort(a[i],6);
//5.查找含通配符“*”的子串
intsearch(char*str,char*s){
for(;
*str;
str++){
for(char*p1=str,*p2=s;
*p1==*p2;
p1++,p2++);
if(*p2=='
*'
*p1){
if(*(p2+1)=='
\0'
)return1;
else{
p1++;
p2++;
while(*p1)
{
for(char*p3=p1,*p4=p2;
*p3==*p4;
p3++,p4++)
if(*(p4+1)=='
p1++;
}
return0;
charstr[]="
abc1123445"
char*s[]={"
c*45"
"
bc*"
*1234"
45*"
*ab"
};
for(char**ptr=s;
ptr<
s+5;
ptr++)
if(search(str,*ptr))cout<
*ptr<
是"
str<
的子串。
不是"
//6.折半查找法查找有序序列中值为k的元素
inta[10]={2,4,6,8,10,12,14,16,18,20},k;
intlow=0,hig=9,mid,flage=0;
请输入要查找的数k:
\tk="
k;
while(low<
=hig){
mid=(low+hig)/2;
if(a[mid]==k){
flage=1;
break;
elseif(a[mid]>
k)hig=mid-1;
elselow=mid+1;
if(flage)cout<
是数组a中的a["
mid<
]元素。
数组a中没有"
。
四、实验题
●改错题
//1.数组赋值
string.h>
voidmain(void){
inta1[]={1,3,5,7,9},a2[5],i,j;
floatb1[][3]={2,4,6,8,10},b2[2][3];
charc1[]="
abcde"
c2[20];
a2[i]=a1[i];
2;
for(j=0;
3;
b2[i][j]=b1[i][j];
strcpy(c2,c1);
i++)cout<
a2[i]<
b2[i][j]<
c2<
//2.字符串交叉插入
chars1[10]="
s2[20]={"
ABCDE"
},*p1=s1,*p2=s2;
chars3[10],*p3;
p3=s3;
strcpy(p3,p2);
while(*p1!
=0){
*p2++=*p1++;
*p2++=*p3++;
s2="
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江苏 科技大学 c+ 课程 解析 答案