c++上机作业和答案文档格式.docx
《c++上机作业和答案文档格式.docx》由会员分享,可在线阅读,更多相关《c++上机作业和答案文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
10)y=x+1;
elsey=100;
y<
endl;
return0;
}
第二题
{intx;
switch(x)
{case2:
case3:
age:
"
enterlowerclass"
break;
case4:
entermiddleclass"
case5:
case6:
enterhigherclass"
实验四循环结构程序设计
(2)
一、实验目的
1.学习循环语句for、while和do-while语句的使用方法。
2.学习用循环语句实现各种算法,例如穷举法、迭代法等。
二、实验内容
1.编写程序输出下列图形。
*
**
***
****
*****
***
*****
*******
*
2.输出所有的“水仙花数”,“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
153=13+53+33
3.编写程序实现输入整数n,输出如下所示由数字组成的菱形。
(图中n=5)
1
121
12321
1234321
123454321
1
4.输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。
第一题第一个
#include<
{
inti,j;
for(i=1;
i<
=5;
i++)
{for(j=1;
j<
=i;
j++)
'
*'
\n'
第一题第二个
inti,k,j;
for(i=1;
=4;
{for(k=3;
k>
k--)
cout<
'
{for(j=1;
=2*i-1;
cout<
}
for(i=3;
i>
=1;
i--)
cout<
return0;
inti,x,y,z;
for(i=100;
=999;
x=i/100;
y=i%10;
z=(i-100*x)/10;
if(i==x*x*x+y*y*y+z*z*z)
第三题
intn,i,j,h;
pleaseentern"
n;
=n;
for(h=i-1;
h>
h--)
h<
for(i=n-1;
第四题
charx;
inta=0,b=0,c=0,d=0;
while((x=getchar())!
='
)
{
if('
A'
=x&
Z'
||'
a'
z'
)a++;
elseif('
0'
9'
)b++;
elseif(x=='
)c++;
elsed++;
}
字母的个数"
a<
数字的个数"
b<
空格个数"
c<
其他"
d<
return0;
实验四循环结构程序设计(3)
1.求1!
+2!
+…10!
的和。
2.输入a和b,求它们的最大公约数和最小公倍数。
iomanip>
intfac(int);
{inti,sum=0;
=10;
sum=sum+fac(i);
sum="
sum<
intfac(intn)
{staticintf=1;
f=f*n;
returnf;
intmain()
{
inta,b,p,r,temp,w;
pleaseentera,b:
a>
b;
if(a<
b)
{
temp=a;
a=b;
b=temp;
p=a*b;
while(b!
=0)
r=a%b;
b=r;
w=p/a;
它们的最大公约数为:
它们的最小公倍数为:
w<
第四章函数
1.学习C语言中函数的定义和调用方法。
2.掌握通过参数在函数间传递数据的方法。
3.熟悉TC集成环境对包含函数调用的程序的调试方法。
1.编写程序计算s=1k+2k+3k+….+nk
2.编写求最小公倍数的程序。
3.写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
4.输入10个学生5门课的成绩,分别用函数实现下列功能:
(1)计算每个学生平均分;
(2)计算每门课的平均分;
(3)找出所有50个分数中最高的分数所对应的学生和课程;
intfun(intn,intk)
inti,p=1;
for(i=0;
k;
p=p*n;
returnp;
intmain()
inti,s=0,n,k;
请输入n,k的值:
cin>
n>
s=s+fun(i,k);
s="
s<
intdivisor(inta,intb)
inti,min,x;
min=(a<
b)?
a:
for(i=min;
0;
if(a%i==0&
b%i==0)
{
x=i;
break;
}
returnx;
voidmain()
inta,b,x,y;
请输入两个数的值:
cin>
x=divisor(a,b);
y=a*b/x;
这两个数的最小公倍数为:
voidinverse(charch[]);
charch[20];
请输入字符串:
ch;
inverse(ch);
输出的字符串为:
ch<
voidinverse(charch[])
inti;
inttemp;
(strlen(ch)/2);
temp=ch[i];
ch[i]=ch[strlen(ch)-1-i];
ch[strlen(ch)-1-i]=temp;
voidaverage1(floatscore[10][5])
inti,j;
floatsum;
10;
sum=0;
for(j=0;
5;
sum=sum+score[i][j];
第"
i+1<
个学生平均分为:
sum/5.0<
voidaverage2(floatscore[10][5])
for(j=0;
sum=sum+score[i][j];
j+1<
门课的平均分为:
sum/10.0<
voidlargest(floatscore[10][5])
floatmax=0;
for(i=0;
for(j=0;
if(score[i][j]>
max)
max=score[i][j];
for(i=0;
{
for(j=0;
if(score[i][j]==max)
cout<
50个分数中最高的分数是第"
个学生的第"
门课分数为:
max<
}
floatscore[10][5];
请输入10个学生的成绩,按照课程1,课程2,课程3,课程4,课程5的顺序依次输入:
for(i=0;
个学生:
score[i][j];
}
average1(score);
average2(score);
largest(score);
第五章数组
一、实验目的
1.掌握数组的定义、赋值和输入输出的方法。
2.学习用数组实现相关的算法(如排序、求最大和最小值、对有序数组的插入等)。
2、熟悉TC集成环境的调试数组的方法。
1.调试下列程序,使之具有如下功能:
输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。
2.编写程序,任意输入10个整数的数列,将整数按照从小到大的顺序进行排序并输出。
3.输出以下的杨辉三角形(输出10行)
11
1331
14641
15101051
…………………………………
4.找出一个二维数组中的鞍点。
即该位置上的元素在该行上最大、在该列上最小。
也有可能没有鞍点。
inti,a[10],sum=0;
input10numbers:
a[i];
sum+=a[i];
if(i%3==0)cout<
a[i]<
average="
inta[10];
inti,j,t;
for(i=0;
for(j=1;
=9;
=10-j;
if(a[i]>
a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;
thesortednumbers:
#defineN10
inta[N][N];
N;
a[i][0]=1;
a[i][i]=1;
for(i=2;
for(j=1;
i;
a[i][j]=a[i-1][j]+a[i-1][j-1];
a[i][j]<
#definen4
#definem5
inta[n][m],i,j,c,q,s;
s=n>
m?
n:
m;
=m;
j++)
cin>
a[i][j];
q=1;
for(c=1;
=s;
c++)
if(a[i][j]>
=a[i][c]&
=a[c][j])
{
q++;
if(q==s+1)
鞍点有:
i="
j="
第六章指针
1.写一函数,求一字符串的长度。
在main()函数中输入字符串,并输出其长度。
2.有一n个字符的字符串。
写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。
3.输入一行文字,找出其中大写字母、小写字母、空格、数字以及其它字符个数。
intlen(char*p)
intn=0;
while(*p!
\0'
n++;
p++;
returnn;
voidmain()
charstr[200];
intn;
str;
n=len(str);
该字符串的长度为:
n<
voidcopy(char*,char*,int);
intm;
charstr1[20],str2[20];
输入字符串:
str1;
你想从哪一个字符开始复制?
if(strlen(str1)<
m)
错误"
else{
copy(str1,str2,m);
结果:
str2<
voidcopy(char*p1,char*p2,intm)
intn=1;
while(n<
p1++;
while(*p1!
*p2=*p1;
p2++;
*p2='
intnum1=0,num2=0,num3=0,num4=0,num5=0;
charch[20],*p;
p=ch;
while(*p!
if(*p>
*p<
num1++;
elseif(*p>
num2++;
elseif(*p=='
num3++;
elseif(*p>
num4++;
elsenum5++;
大写字母个数为:
num1<
endl<
小写字母个数为:
num2<
空格个数为:
num3<
数字个数为:
num4<
其他字符个数为:
num5<