C程序设计上机实验报告.docx

上传人:b****5 文档编号:29876871 上传时间:2023-08-03 格式:DOCX 页数:27 大小:150.63KB
下载 相关 举报
C程序设计上机实验报告.docx_第1页
第1页 / 共27页
C程序设计上机实验报告.docx_第2页
第2页 / 共27页
C程序设计上机实验报告.docx_第3页
第3页 / 共27页
C程序设计上机实验报告.docx_第4页
第4页 / 共27页
C程序设计上机实验报告.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C程序设计上机实验报告.docx

《C程序设计上机实验报告.docx》由会员分享,可在线阅读,更多相关《C程序设计上机实验报告.docx(27页珍藏版)》请在冰豆网上搜索。

C程序设计上机实验报告.docx

C程序设计上机实验报告

 

C++程序设计上机实验报告

 

指导教师:

XXX

学号:

XXXXXX

姓名:

XXX

班级:

XXXX

时间:

XXXXXXXXXXX

 

第1次:

顺序与分支结构程序设计实验

实验时间:

2012年10月15日实验室:

XX

实验题目:

1.使用VisualC++6.0集成环境来编辑、编译并运行程序:

#include

intmain()

{/*定义部分和执行部分分开*/

doubler=1.57,pi=3.1415926;

printf("area=%f\n",pi*r*r);/*输出圆面积*/

printf("circumference=%f\n",2*pi*r);

return0;

}

2.输入一个年份,判断该年份是否闰年,如果是就输出YES,否则输出NO。

3.输入3个数a,b,c,要求按由小到大的顺序输出。

实验目的:

1、了解和使用VC集成开发环境;

2、熟悉VC环境的基本命令和功能键;

3、熟悉常用的功能菜单命令;

4、掌握顺序结构程序设计;

5、掌握分支结构程序设计。

实验要求:

1. 复习教材有关内容。

2. 掌握VC控制台应用程序的开发、调试步骤。

3. 完成实验报告。

实验主要步骤:

题目1:

打开VC6.0,创建新的C++工程,将题中代码输入,编译,链接,运行。

题目2:

打开VC6.0,创建新的C++工程,按照题目要求设计程序输入,编译,有错误则检查程序并改正继续,链接,运行程序,输入一个年份,如果程序按要求得出结果,则成功。

题目3:

打开VC6.0,创建新的C++工程,按照题目要求设计程序输入,编译,有错误则检查程序并改正继续,链接,运行程序,输入三个数,确认,程序输出三个从小到大的数,完成。

实验结果:

题目1:

:

题目2:

#include

voidmain()

{

intyear;

cout<<"pleaseinputadate:

";

cin>>year;

if((year%4==0&&year%100!

=0)||(year%400==0))

cout<<"YES"<

elsecout<<"NO"<

}

题目3:

#include

voidmain()

{

inta,b,c,x;

cout<<"pleaseinputthreenumber:

";

cin>>a>>b>>c;

if(a>b){x=a;a=b;b=x;}

if(a>c){x=a;a=c;c=x;}

if(b>c){x=b;b=c;c=x;}

cout<

}

心得体会:

第一题主要是学习如何使用VC6.0编写简单的程序,第二第三题则是学习如何编写符合要求的代码,特别考察了if语句的用法。

第2次:

循环结构程序设计实验

实验时间:

2012年10月22日实验室:

XX

实验题目:

1、打印出如下图案。

*

***

******

********

******

***

*

2、古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第3个月后每个月又生一对兔子,假如兔子都不死,问前10个月的兔子总对数各为多少?

实验目的:

1、熟悉掌握for语句实现循环的方法。

2、熟悉掌握while语句实现循环的方法。

3、熟悉掌握do…while语句实现循环的方法。

4、掌握在程序设计中用循环的方法实现一些常用的算法

实验要求:

1、写出程序,并调试程序,要给出测试数据和实验结果。

2、整理上机步骤,总结经验和体会。

3、完成实验报告和上交程序。

实验主要步骤:

题目1:

对图案分析,第一排有1个*,第二排3个,第三排6个,第四排8个,后面的则与前面的对称,按要求设计程序,调试,得出正确的图案。

题目2:

分析题目,第一对兔子在第三个月生一对兔子,则第三个月有两对,第四个月有三对,老兔子和第三个月生的兔子生两个兔子,则第五个月有五对兔子…以此类推,以后每个月的兔子数是前两个月的兔子数之和。

则根据此分析写出程序。

实验结果:

题目1:

#include

voidmain()

{

inti;

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

{cout<<"*";

if(i==1||i==4||i==10||i==18||i==24||i==27||i==28)

cout<

}

}

题目2:

#include

voidmain()

{

ints,k,i=1,j=1;

for(k=3;k<=10;k++)

{s=i+j;

i=j;

j=s;

}

cout<

}

心得体会:

学会分析题目,用简单的程序完成要求,熟练运用for循环和if条件语句。

第3次:

一维数组及应用实验

实验时间:

2012年10月22日实验室:

XXX

实验题目:

1、求数组中小于零的数据之和,将程序补充完整并运行。

#include

voidmain()

{

intnum[]={2,-23,61,9,-15,7,57,100,-1,-36,94,6,77,-8,13};

inti,sum=0;

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

if()sum=;

printf("sum=%d\n",sum);

}

2、下面程序中的数组a包括10个整数元素,从a中第2个元素起,分别将后项减前项之差存入数组b,并按每行3个元素输出数组b。

将程序补充完整并运行。

#include

voidmain()

{

inta[10],b[10],i;

for(i=0;;i++)scanf("%d",&a[i]);

for(;i<10;i++)b[i]=a[i]-a[i-1];

for(i=1;i<10,i++)

{

printf("%3d",b[i]);

if()printf("\n");

}

}

3、运行下面的程序,从键盘输入AhaNAAha代表回车),则程序运行结果是什么?

#include

#include

voidmain()

{

chars[100],c='a';

inti=0;

scanf("%s",s);

while(s[i]!

='\0')

{

if(s[i]==c)s[i]=s[i]-32;

elseif(s[i]==c-32)s[i]=s[i]+32;

i++;

}

puts(s);

}

4、编程序并上机调试以下程序:

(1)采用“选择法”对任意输入的10个整数按由大到小的顺序排序。

(2)由键盘任意输入一个字符串和一个字符,要求从该字符串中删除所指定的字符。

实验目的:

1、掌握一维数组的定义、赋值和输入输出。

2、掌握字符数组和字符串函数的使用。

3、掌握与数组有关的简单算法。

实验要求:

1、写出程序,并调试程序,要给出测试数据和实验结果。

2、整理上机步骤,总结经验和体会。

完成实验报告和上交程序。

实验主要步骤:

题目1:

输入题中程序,按要求补全,运行。

题目2:

输入题中程序,按要求补全,运行。

题目3:

输入题中程序,运行。

题目4:

分析题目,按要求设计程序,运行。

实验结果:

题目1:

#include

voidmain()

{

intnum[]={2,-23,61,9,-15,7,57,100,-1,-36,94,6,77,-8,13};

inti,sum=0;

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

if(num[i]<0)sum=sum+num[i];

printf("sum=%d\n",sum);

}

题目2:

#include

voidmain()

{

inta[10],b[10],i;

for(i=0;i<10;i++)scanf("%d",&a[i]);

for(i=1;i<10;i++)b[i]=a[i]-a[i-1];

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

{

printf("%3d",b[i]);

if(i%3==0)printf("\n");

}

}

题目3:

题目4-1:

#include

voidmain()

{

inti,j,k,a[10];

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

cin>>a[i];

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

{for(j=i+1;j<10;j++)

{if(a[i]

{k=a[i];a[i]=a[j];a[j]=k;}

}

cout<

}

cout<

}

题目4-2:

#include

voidmain()

{

inti;

charstr[10],x;

cin>>str>>x;

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

if(str[i]!

=x)

cout<

cout<

}

心得体会:

看书吧,不会的慢慢研究,熟练运用for循环和if条件语句。

第4次:

一维数组实验

实验时间:

2012年10月29日实验室:

XX

实验题目:

1、

2、输入一个正整数n(1

3、输入一个正整数n(1

4、输入一个正整数n(1

5、输入一个正整数n(1

6、输入一个正整数n(1

实验目的:

1)熟练掌握一维数组的编程方法。

2)熟练掌握排序算法。

实验主要步骤:

按要求设计程序,输入运行。

实验结果:

题目1:

#include

intmain()

{

inti,j,n,x,a[20];

cout<<"输入数据的个数n:

";

cin>>n;

cout<<"输入"<

";

for(i=0;i

cin>>a[i];

cout<<"输入要插入的整数:

"<

cin>>x;

for(i=0;i

{if(x>a[i])continue;

j=n-1;

while(j>=i){

a[j+1]=a[j];

j--;

}

a[i]=x;

break;

}

if(i==n)a[n]=x;

for(i=0;i

cout<

return0;

}

题目1:

#include

voidmain()

{

intn,i,s=0;

cin>>n;

inta[10];

for(i=0;i

cin>>a[i];

for(i=0;i

{

s=a[i]+s;

}

cout<

}

题目2:

#include

voidmain()

{

intn,i,k;

cin>>n;

inta[10];

for(i=0;i

cin>>a[i];

for(i=0;i

{

k=a[i];

a[i]=a[n-1-i];

a[n-1-i]=k;

}

for(i=0;i

cout<

cout<

}

题目3:

#include

voidmain()

{

intn,i,j;

cin>>n;

inta[10];

for(i=0;i

cin>>a[i];

intmax=a[0];

for(i=0;i

if(a[i]>max)

{

j=i;

max=a[i];

}

cout<<"max="<

}

题目4:

#include

voidmain()

{

intn,i,x,y;

cin>>n;

inta[10];

for(i=0;i

cin>>a[i];

intmax=a[0],min=a[0];

for(i=0;i

{if(a[i]>max)

{

x=i;

max=a[i];

}

if(a[i]

{

y=i;

min=a[i];

}

}

intm=a[y];a[y]=a[0];a[0]=m;

intq=a[x];a[x]=a[n-1];a[n-1]=q;

for(i=0;i

cout<

cout<

}

第五题:

#include

voidmain()

{

intn,i,j,s;

cin>>n;

inta[10];

for(i=0;i

cin>>a[i];

for(i=0;i

for(j=0;j

if(a[j]

{

s=a[j];

a[j]=a[j+1];

a[j+1]=s;

}

for(i=0;i

cout<

cout<

}

心得体会:

熟练运用排序法,注意数组下标。

 

第5次:

指针及应用实验

实验时间:

2012年11月5日实验室:

XX

实验题目:

1、写一函数,求一个字符串的长度。

实验步骤与要求:

(1)本部分练习要求全部用指针完成。

(2)在main函数中输入字符串,并输出其长度。

(3)本题不能用strlen()函数。

方法说明:

在主函数中定义一个指向字符串的指针变量pstr,并将输入的字符串的首地址赋值给pstr,然后调用求字符串长度的函数strlenth(char*p),得到字符串的长度。

在函数strlenth(char*p)中,判断*p是否为’\0’,则进行len++的操作,直到遇到’\0’为止。

然后返回len值。

求字符串长度的函数strlenth(char*p)算法如下:

(1)定义intlen=0;

(2)当*p!

=’\0’时,重复执行以下(3)和(4),否则转(5)。

(3)en=len+1

(4)p++

(5)return(len)

2、编写一个函数,将数组中n个数按反序存放。

实验步骤与要求:

(1)在主函数中输入10个数,并输出排好序的数。

(2)编写函数invert()将10个数按反序存放。

3、设计一个函数,调用它时,每次实现不同的功能:

(1)求两个数之和。

(2)求两个数之差。

(3)求两个数之积。

实验步骤与要求:

(1)在主函数中输入2个数a,b,并输出a,b的和,差和乘积。

(2)分别编写函数add()、sub()、mul()计算两个数的和、差、积。

(3)编写函数process(),分别调用函数add()、sub()、mul()。

实验目的:

4、掌握一维数组的定义、赋值和输入输出。

5、掌握字符数组和字符串函数的使用。

6、掌握与数组有关的简单算法。

实验要求:

1、写出程序,并调试程序,要给出测试数据和实验结果。

2、整理上机步骤,总结经验和体会。

3、完成实验报告和上交程序。

实验主要步骤:

按要求设计程序,输入运行。

实验结果:

题目1:

#include

voidmain()

{

charstr[20],*p=str;

inti,len=0;

cin>>str;

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

if(*p!

='\0')

{len++;

p++;

}

cout<

}

题目2:

#include

voidinvert(inta[],intn)

{

for(inti=0;i

{

ints=a[i];

a[i]=a[n-i-1];

a[n-i-1]=s;

}

for(i=0;i

cout<

}

voidmain()

{

inti,j,k,a[10];

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

cin>>a[i];

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

{for(j=i+1;j<10;j++)

{if(a[i]

{k=a[i];a[i]=a[j];a[j]=k;}

}

cout<

}

cout<

invert(a,10);

cout<

}

题目3:

#include

#include

#include

intadd(inta,intb)

{

returna+b;

}

intsub(inta,intb)

{

returna-b;

}

intmul(inta,intb)

{

returna*b;

}

voidprocess()

{

inta,b,x;

srand(time(NULL));

cin>>a>>b;

x=1+rand()%3;

if(x=1)

cout<

if(x=2)

cout<

if(x=3)

cout<

}

voidmain()

{

process();

}

心得体会:

那个实现不同功能的函数应该是随机吧,时间随机。

不知道怎么弄啊。

还有那个指针,不怎么会用。

第6次:

结构体及应用实验

实验时间:

2012年12月10日实验室:

XXX

实验题目:

1、有8名学生,每个学生包括学号、姓名、语文成绩、数学成绩、计算机成绩、平均分和总分,要求根据各科成绩计算总分和平均分,并按总分递增排序并输出。

其中:

(1)学生信息的输入和输出在主函数中实现。

(2)按总分递增排序在sort_incr函数中实现。

2、某高校图书馆建立一个读者登记表,每个人都包括姓名、性别、年龄和职业4部分,另外还包括一个变体部分,即对学生包括班级,对教职工要包括单位。

试编写程序输入5个人的数据信息,输出教职工的人数和每个学生的姓名和年龄。

3、建立一个链表,每个节点包括:

学号、姓名、性别、年龄。

输入一个年龄,如果链表中的节点包含的年龄等于此年龄,则将此节点删去。

实验目的:

1、掌握结构体、共用体类型说明和变量的使用方法。

2、掌握链表的操作。

3、学会使用typedef自定义数据类型。

实验要求:

1、写出程序,并调试程序,要给出测试数据和实验结果。

2、整理上机步骤,总结经验和体会。

3、完成实验报告和上交程序。

实验结果:

题目1:

#include

constintN=8;

structstudent{

charnum[N],name[N];

floatchinese,math,computer,ave,sum;

};

studenta[N];

voidsort_incr()

{

inti,k,j;

for(i=1;i

k=i-1;

for(j=i;j

if(a[j].sum>a[k].sum)k=j;

structstudentx=a[i-1];a[i-1]=a[k];a[k]=x;

}

}

voidmain()

{

inti;

studentx;

for(i=0;i

cin>>x.num>>x.name;

cin>>x.chinese>>x.math>>puter;

a[i]=x;

a[i].sum=x.chinese+x.math+puter;

a[i].ave=x.sum/3;

}

sort_incr();

for(i=0;i

cout<

}

心得体会:

挺难的,照着书慢慢做,慢慢改。

展开阅读全文
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1