实验一 C++基础练习附答案Word格式.docx
- 文档编号:16579426
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:12
- 大小:25.84KB
实验一 C++基础练习附答案Word格式.docx
《实验一 C++基础练习附答案Word格式.docx》由会员分享,可在线阅读,更多相关《实验一 C++基础练习附答案Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
intdata;
Node*next;
}*LinkList;
建立单链表函数的原型为:
intCreateList(LinkList&
L,intn)
其中L为单链表的头指针,创建的链表通过L返回;
n为链表中节点的个数。
函数中通过new运算符给每个节点分配存储空间,并通过cin输入节点中保存的数据,最后将节点插入到链表末尾。
再编写一个输出链表数据的函数,函数原型为:
intPrintList(LinkListL)
最后编写主函数进行测试。
6.阅读下列程序,指出错误的语句以及出错的原因。
然后上机调试改正错误。
(1)
include<
iostream.h>
voidmain()
cin>
>
x;
inty=x*x;
cout<
<
"
y=<
y<
\n"
;
return0;
}
(2)
#include<
inta,b;
a=7;
ints=a+b;
a+b="
s<
endl;
7.调试下列程序,写出输出结果,并解释输出结果
doubledd=3.9,de=1.3;
double&
rdd=dd,&
rde=de;
rdd+rde<
'
'
dd+de<
rdd=2.6;
rdd<
dd<
de=2.5;
rde<
de<
voidfun(int,int&
);
fun(2,a);
fun(3,b);
a+b<
voidfun(intm,int&
n)
n=m*4;
(3)
int&
fun(int);
intaa[5];
inta=5;
for(inti=0;
i<
5;
i++)
fun(i)=a+i;
for(i=0;
cout<
aa[i]<
"
fun(inta)
returnaa[a];
参考答案(非权威,仅仅是我自己的理解,如有错误,请批评指正!
)
第一题:
floatx;
请输入一个摄氏温度:
它的华氏温度为:
9*x/5+32<
第二题:
#defineN1
structstudent//定义并声明结构变量
intnumber;
charname[20];
charsex[10];
intage;
floatscore[2];
}stu[N];
请输入学号:
stu[0].number;
请输入姓名:
stu[0].name;
请输入性别:
stu[0].sex;
请输入年龄:
stu[0].age;
请输入A课程成绩:
stu[0].score[0];
请输入B课程成绩:
stu[0].score[1];
你的学号为:
stu[0].number<
你的姓名为:
stu[0].name<
你的性别为:
stu[0].sex<
你的年龄为:
stu[0].age<
你的A课成绩为:
stu[0].score[0]<
你的B课成绩为:
stu[0].score[1]<
第三题:
#include<
iostream>
usingnamespacestd;
intMAX(intx,inty){returnx>
y?
x:
y;
}
intMAX(inta,intb,intc){return(a>
b?
a:
(b>
c?
b:
c));
voidmain()
intx,y,a,b,c;
请输入x:
请输入y:
请输入a:
a;
请输入b:
b;
请输入c:
c;
MAX(x,y)="
MAX(x,y)<
MAX(a,b,c)="
MAX(a,b,c)<
第四题:
intsum=0;
intN,sum=0;
请确定数组大小N的值:
cin>
N;
int*p=newint[N];
请输入N个整数到数组p[N]中:
for(inti=0;
i++)cin>
p[i];
for(intk=0;
k<
k++)
{
:
:
sum+=p[k];
if(p[k]%2!
=0)sum+=p[k];
}
endl<
数组p[N]的总和为:
sum<
数组p[N]的奇数和为:
delete[]p;
第五题:
intdata;
Node*next;
LinkListCreateList(LinkList&
LinkListp=NULL;
LinkListtemp=NULL;
intdata;
cout<
请任意输入n个正整数:
<
endl;
cin>
data;
while(n>
0)
p=newstructNode;
p->
data=data;
next=NULL;
if(!
L)L=temp=p;
else
{
temp->
next=p;
temp=p;
}
cin>
n--;
}
returnL;
LinkListp=L;
链表的全部数据如下:
while(p)
cout<
p->
data<
p=p->
next;
return0;
voidfreeLink(LinkListL)
while(L)
p=L;
L=L->
deletep;
LinkListL=NULL;
L=CreateList(L,3);
//输入链表数据
PrintList(L);
//输出链表数据
freeLink(L);
//释放单链表的头指针
第六题:
修改前的程序:
//头文件应定义应加上#号
//使用x之前应先申明x的内型
//引号的位置错误,应改为"
y="
,且换行应该使用endl
//main函数定义为void类型,因此不应该有返回值,故去掉这句话。
修改后的程序:
intx;
inty=x*x;
cout<
//整个过程中b都没有赋值,因此a+b为一个不确定的数。
inta,b;
a=7;
b=0;
ints=a+b;
第七题:
doubledd=3.9,de=1.3;
//定义两个double类型的数据
double&
//分别对dd和de进行引用声明为rdd和rde
//由于引用与其所引用的变量的值永远保持相同。
故rdd+rde=dd+de=3.9+1.3=5.2
//因此输出为:
5.2,5.2
rdd=2.6;
//rdd=dd被赋值为2.6
//rdd=dd=2.6因此输出为:
2.6,2.6
de=2.5;
//de=rde被赋值为2.5
//de=rde=2.5因此输出为:
2.5,2.5
voidfun(int,int&
//函数原型说明
//声明两个int类型的数据a,b
fun(2,a);
//调用函数fun,使引用变量a=2*4=8
fun(3,b);
//调用函数fun,使引用变量b=3*4=12
//输出a+b的值20
//声明一个函数来引用数组aa[5]
//声明一个数组
inta=5;
for(inti=0;
i++)
//通过for循环,调用函数fun();
为其建立引用,对数组aa[5]分别赋值
for(i=0;
i++)//通过for循环,分别输出显示数组aa[5]的值:
56789
//换行
returnaa[a];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 C+基础练习附答案 实验 C+ 基础 练习 答案