导航:首页 > 编程语言 > 位串处理程序实验报告

位串处理程序实验报告

发布时间:2023-08-08 16:17:56

Ⅰ C语言实验报告总结

你只需要按那个模版就行,那些内容就改成你的作业
班级: 学号: 姓名:
实验 指针

一、实验目的

(1)掌握指针概念,并定义与使用它。

(2)使用数组的指针和指向数组的指针变量。

(3)使用字符串的指针和指向字符串的指针变量。

二、实验内容

1. 将一个3*3的矩阵转置,用函数实现。

2. 有n个人围成一圈,顺序排号。从第一个人开始报数(1~3),凡报到3的人退出,问第几号的人能留下。

三、实验环境

硬件:(1)学生用微机

(2)多媒体实验教室

软件:(1)Windows XP 中文操作系统

(2)VC++ 6.0

四、实验结果

程序1:

#include<stdio.h>

void main()

{

void move(int *pointer);

int a[3][3],*p,i;

printf("input marix:\n");

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

scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);

p=&a[0][0];

move(p);

printf("matrix:\n");

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

printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);

}

void move(int *pointer)

{

int i,j,t;

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

for(j=i;j<3;j++)

{

t=*(pointer+3*i+j);

*(pointer+3*i+j)=*(pointer+3*j+i);

*(pointer+3*j+i)=t;

}

}

程序2:

#include<stdio.h>

void main()

{

int i,k,m,n,num[50],*p;

printf("input num of person:");

scanf("%d",&n);

p=num;

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

*(p+i)=i+1;

i=0;

k=0;

m=0;

while(m<n-1)

{

if(*(p+i)!=0)k++;

if(k==3)

{

*(p+i)=0;

k=0;

m++;

}

i++;

if(i==n)i=0;

}

while(*p==0)p++;

printf("the last num is %d\n",*p);

}

结果1:(就是程序运行之后出现的框,截图后粘贴这里)

结果2:

五、总结:

通过这个实验的学习, 基本掌握了指针的基本用法。

Ⅱ c语言实验报告总结怎么写

c语言实验报告总结这样写:

在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。

在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。

为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:

1、加深对课堂讲授内容的'理解

课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。

通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。

通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去"掩盖"程序中的错误,而不是尽可能多地发现程序中存在的问题。

自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。

2、熟悉程序开发环境、学习计算机系统的操作方法

一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓"环境"就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。

通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。

3、学习上机调试程序

完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。

开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。

通过这次为数不多的几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你努力,任何东西都不会太难!

Ⅲ 实验报告怎样写啊

一, 程序功能
本程序利用指针,链表,文件,以及字符串等各种操作,实现程序功能:字典管理。
二, 题目分析
与前两题不同,本题需大量利用指针和链表操作。这无形中增加了题目的难度。由于指针这部分知识掌握得不牢固,加上链表和文件都是新学的内容,编程过程遇到了一些困难,调试与查错一度成为课设的主要工作。
为了更好的完成设计,我复习了指针这部分内容,巩固了链表和文件两部分知识。
在完成课设过程中,我发现困扰我的地方不是编写插入,删除,查找这些函数,而是建立初始链表。
我首先编了三个函数:creat,insert_a_word,list,和一个main函数。调试时发现调用list函数输出除了原来insert的字符串,还有一些乱码,这就说明以上三个函数的某个或几个有问题。后来我把目标放在creat函数上。我本来是想模仿书上的creat 函数,但是要从文件上读取字符串,就要用到fscanf,由于操作的不纯熟,空间的分配出现了问题,在初始链表的时候带进了一些乱码。后来我重新编了creat函数,解决了这个问题。
解决了初始链表的问题以后,遇到的问题无非是指针上的操作错误,往往一编译就出现很多警告和错误,于是一个一个找,一个一个调。这些花费了我很长时间,以至于一看到蓝屏下的出错信息就想逃。这些错误后来都被我解决了。
在完成课设过程中,我是一边出错一边改错,一边调试一边翻书,进展缓慢。不过也是因为出了错,翻了书,我发现了自己知识体系中的不足之处,巩固了薄弱的地方。
大体编完了以后,我又对程序进行了完善。比如说增加了全局变量n,在输出插入单词成功时输出插入单词的个数。经过这个程序设计的编写,我觉得作为一个编程者,首先,必须有严谨的作风:因为一个程序中小小的一点不足在最后的运行时都会对整个程序产生不可忽视的影响,甚至使程序终止,不能运行下去;其次,还必须有足够的耐心去观察解决出现的一系列问题;当然,还必须有较强的逻辑思维能力,因为程序出现错误不是光有耐心就能解决的,必须利用逻辑思维能力,一步步地排除错误
三、源程序

或者;
一. 程序功能
设计一个单向链表类,完成一个通讯录的简单管理工作。通讯录是一个简单的数据库库表,每个结点包含一个人的所有通讯信息。
程序的执行过程为:循环显示主菜单,用户在Choice处输入选项,即按照功能列表输入1-9的任意一个数字,按回车后,执行响应的功能。
各菜单项功能如下:
1、 Add Record (增加记录)
提示输入各字段。一次输入一个人的数据。
2、 Delete Record (删除记录)
输入待删除记录的姓名,显示该姓名下的所有信息,让用户再次确认是否要删除
3、 Display All Record(显示所有记录)
按顺序显示库中所有记录,每屏显示10条记录。每显示10条,用户按<Enter>键继续显示下一屏。
4、 Query(按姓名查找并显示一个记录)
输入姓名,显示该姓名下的所有信息
5、 Modify Record(按姓名查找,修改一个记录)
输入姓名,显示该姓名下的所有信息。然后,在子菜单中提示修改哪个数据。
6、 Add from a Text File(从正文文件中添加数据到库表中)
用户可事前建立一个正文文件,存放待加入的数据,然后从该文件中一次性导入多个人员的数据。程序运行时,提示输入正文文件的文件名。
7、 Write to a Text File
将库表中的数据写入一个正文文件中。
8、 Sort(排序库表)
首先显示当前排序关键字,然后 提示是否需要改变,用户根据需要回答是否需要改变。系统中有两种排序方式,一种是按姓名排序,一种是按办公室电话排序。改变排序的方式
的意义是在两种排序方式之间的切换。
9、 Quit(退出系统)

二. 添加的一些功能
1.程序设计过程中我添加了报错系统,例如我定义了int isnumber(char a[])和int ischar(char a[])2个函数,分别用于判断用户输入的字符串是否为数字或非数字字符串。
2.我还添加了清屏功能,在适当的地方添加此功能可以方便用户使用。
3.在void add(Addrlist &addrlist)函数中我还添加了提示“已经添加同名联系人,是否需要修改新联系人的各项记录?(y/n)并确认”的功能。
4.在void del(Addrlist &addrlist)函数中我添加了确认2次输入的待删除姓名一致的功能,而且提示用户确认删除。
5.在void modify(Addrlist &addrlist)函数中我还添加了可以一次修改多个信息,可以随时返回的功能,更方便用户使用。
6.在void addfromtxtfile(Addrlist &addrlist)函数中,导入数据时系统显示重名信息并自动过滤重名信息。

三.程序设计过程中的一些感想
刚开始接到设计题目的时候感觉很是幸运,因为我知道强化班他们也学过C++,而且也做过课程设计。他们的题目是要做一个图书馆的管理系统,那可是很艰巨的任务呀!大家选择比较多的应该是我的这个通讯录了,一看好多函数书上都有,就算是我最头疼的链表书上也有详细的过程。好象事情从来就是想起来容易做起来难,当我开始要做这个课程设计的时候,我竟然不知道如何下手。也可能是人天生的惰性在起作用,一开始我确实想找强化班的兄弟帮我设计一下,毕竟他们有经验,可以帮我开个好头。后来还是决定自己来做,虽然做得可能会稍微差一点。既然学习了就应该自己去实现。
在做的过程中遇到了很多麻烦,虽然我早有心理准备,但还是令我伤透了脑筋。只怪自己平时看书太少,其实有很多东西在书上都可以找到答案的。可是还是有一些问题我实在没有办法解决。
我开始只是想自己做一套程序,这会让我有一种自豪感,没想到到了最后时期,仍然有些问题没有解决。只好求助同学。在同学的帮助之下,总算是解决了最后的问题。但由于水平有限,和其他同学比起来,我的程序显得那么笨拙。
通过这次的课程设计使我更深刻地体会到事情从来都不像你想象的那么简单,只有去做,才会真正感到它的困难。同时也使我明白了,什么时候都不要忘记最基础的东西。因为平时没有注意看书,使我在设计的过程中吃尽了苦头,浪费了不少时间。
虽然一开始雄心勃勃要自己独立完成程序,可是最后还是要求助于别人。这与最开始的想法有些违背。有的时候的确不应该自己钻牛角尖,每个同学都可以成为自己的老师,虚心请教是必不可少的。

三、源程序

Ⅳ C语言程序设计实验报告

题目2:
#include <stdio.h>
#include <stdlib.h>
main()
{
int a;
printf("ÇëÊäÈë³É¼¨£º\n");
scanf("%d",&a);
if(90<=a&&a<=100) printf("A");
if(80<=a&&a<=89) printf("B");
if(70<=a&&a<=79) printf("C");
if(60<=a&&a<=69) printf("D");
if(0<=a&&a<=59) printf("E");

if(a>100||a<0) printf("ÊäÈëÊý¾Ý³ö´í");

getch();
}
switch:

#include<stdio.h>
main2()
{
int a;
printf("ÇëÊäÈë³É¼¨:\n");
scanf("%d",&a);
switch(a/10)
{
case 10:printf("A!\n");
break;
case 9:printf("A!\n");
break;
case 8:printf("B!\n");
break;
case 7:printf("C!\n");
break;
case 6:printf("D!\n");
break;
case 5:printf("E!\n");
break;
case 4:printf("E!\n");
break;
case 3:printf("E!\n");
break;
case 2:printf("E!\n");
break;
case 1:printf("E!\n");
break;
case 0:printf("E!\n");
break;
default:
printf("ÊäÈëÊý¾ÝÓдí\n") ;
}
getch();
}
还有你第一题是什么意思呢

题目3 :

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main
()
{
int a,g,s,b,q,w,x,p,x1,x2,x3,x4;
printf("ÇëÊäÈ룺\n");
scanf("%d",&a);
/*ÅжÏλÊý*/
if(a<0||100000<a) printf("Êý¾Ý³¬³ö·¶Î§£¡£¡£¡");
else if(a/10000!=0){ printf("5λÊý\n");p=5;}
else if(a/1000!=0){ printf("4λÊý\n");p=4;}
else if(a/100!=0) {printf("3λÊý\n"); p=3;}
else if(a/10!=0) {printf("2λÊý\n");p=2;}
else if(a/1!=0) {printf("1λÊý\n");p=1;}
/*·Ö±ð´òÓ¡³öÿһλÊý×Ö*/
w=a/10000;
printf("ÍòλΪ%d\n",w);
q=(a-w*10000)/1000;
printf("ǧλΪ%d\n",q);
b=(a-10000*w-1000*q)/100;
printf("°ÙλΪ%d\n",b);
s=(a-10000*w-1000*q-b*100)/10;
printf("ʮλΪ%d\n",s);
g=(a-w*10000-q*1000-b*100-10*s) ;
printf("¸÷λΪ%d\n",g);
/*°´ÄæÐò´òÓ¡³ö¸÷λÊý*/
if(p==5) {x=g*10000+s*1000+b*100+q*10+w; printf("µ¹ÐòÊýΪ%d\n:",x);}
else
if(p==4) {x1=g*1000+s*100+b*10+q; printf("µ¹ÐòÊýΪ%d\n:",x1); }
else
if(p==3) {x2=g*100+s*10+b; printf("µ¹ÐòÊýΪ%d\n:",x2);}
else
if(p==2) {x3=g*10+s; printf("µ¹ÐòÊýΪ%d\n:",x3);}
else
if(p==1) {x4=g; printf("µ¹ÐòÊýΪ%d\n:",x4);}

getch();
}

题目4:
#include <stdio.h>
#include <stdlib.h>
main()
{
int a[8],i,b,j,swap;
printf("ÇëÊäÈëÊý¾Ý£º\n");
for(i=0;i<8;i++) scanf("%d",&a[i]);
for(i=0;i<7;i++)
{
swap=0;
for(j=0;j<8-i-1;j++)
{
if(a[j]>a[j+1])
{
swap=1;
b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
}
if(!swap) break;
}
for(i=0;i<8;i++) printf(" %d ",a[i]);
printf("\n");
getch();
}

java实验报告总结

代码
public class Exe1_1 {
public static void main (String args[]){
byte a1=127;
int a2=12345;
long a3=123456789L;
float a4=1.23e-5f;
double a5=1.4567e3;
char a6=65;
boolean a7=true;
System.out.println("a1="+a1+"\na2="+a2+"\na3="+a3+"\na4="+a4+"\na5="+a5+"\na6="+a6+"\na7="+a7);
}
}运行结果:
2.编写Java小应用程序,输出两行字符串:“Java很有趣。”和“努力学习Java编程。”,输出的起点坐标是(20,20),行距是50像素。源程序代码:
import java.awt.Graphics;
import java.applet.Applet;
public class Exe1_2 extends Applet{
public void paint(Graphics g){
g.drawString("Java很有趣。",20,20);
g.drawString("努力学习Java编程。",20,70);
}
}运行情况:
3.使用算术运算符得到一个4位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。
源程序代码:
public class Exe1_3 {
public static void main (String args[]){
int n=3756,a,b,c,d,n1;
a=n/1000;
b=(n-1000*a)/100;
d=n%10;
c=(n%100-d)/10;
System.out.println("3756的逆序数为:"+d+" "+c+" "+b+" "+a);
System.out.print("各位数字平方后相加的和为:");
System.out.print(a*a+b*b+c*c+d*d);
}
}
运行结果:

三、实验总结(是否完成实验、实验过程中的问题以及解决方法分析等)
本次是我第一次使用JAVA来进行编程,感觉很是不一样,在前两节课中我们学习了有关Java的一些简单知识。然后这次的实验是对最初的一种练习。
在第一题中,我们重要是认识java的运行环境,并且了解各种变量的数据类型。只要通过简单的语句就可以通过运行。其中出现了一些单词的拼写错误,这些是可以修改正确的。第二题我们练习的十一个小的applet应用程序,需要设置一个网页来显示,这是一个很不一样的地方,最后成功测试,里面需要注意的是显示位置的问题。第三题我们做的是一个有算法要求的解决问题,在测试中出现了一点小问题,程序的算法出了错。还有一个问题是有关于显示问题,最后的数据输出需要用到两行分别显示字符和数据,这样才不会出错。

Ⅵ C语言程序设计实验报告怎么写

通过本试验初步培养计算机逻辑解题能力。熟练掌握赋值语句和if语句的应用;掌握switch多路分支语句和if嵌套语句的使用

阅读全文

与位串处理程序实验报告相关的资料

热点内容
电子资料文件有哪些 浏览:241
猥琐猫表情教程 浏览:599
android音频文件格式 浏览:458
漫画脸app哪里可以下载 浏览:959
购买欢乐升级欢乐豆 浏览:282
学习智能机器人用什么编程最好 浏览:655
苹果手机如何管控app 浏览:633
mn文件夹 浏览:590
安卓平板通用刷机包下载 浏览:751
安卓获取内部存储路径 浏览:880
写代码两台显示器 浏览:327
unitypackage压缩文件 浏览:493
奕心安卓 浏览:563
使用土地的有关证明文件包含哪些 浏览:493
数据标注哪里可以接 浏览:482
在家自学编程下什么学 浏览:705
最近很火的app软件是什么软件 浏览:862
ai文字工具 浏览:157
兰博玩游戏路径怎么选择正确文件 浏览:972
淘宝直通车恢复老版本 浏览:510

友情链接