c语言实验报告范本

时间:2024.3.31

说明:下面的模板中黑体字标明的部分是我加的注释,大家要按注释来写报告。实验项目名称:符号函数的实现(此条要求写清楚)

一 实验目的

l  熟练掌握if、if…else、if…else if语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句实现分支选择结构。

l  掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。

二 实验环境(仪器设备、软件等)

奔腾系列机器,windows-xp,vc6.0

三 实验原理(或要求)(这里写实验能够达到的功能)

要求:从键盘输入一个整数给x变量,判断x变量的符号,如果x是正数,输出1,如果x是负数,输出-1,如果x是0输出0。

四 实验步骤


1.写程序流程图:

程序代码:

#include<stdio.h>

void main()

{

  int x,y;

 scanf(“%d”,&x);

{

   If(x<0)                                           

     Y=-1;                                                   

Else   If(x==0)  y=0;                           

Else  y=1;

}

 printf(“x=%d,y=%d\n”,x,y);

}                                         

五 记录与处理(实验数据,误差分析、结果分析)

在键盘上输入456,得到输出x=456,y=1;

在键盘上输入-46,得到输出x=-46,y=-1;

在键盘上输入0,得到输出x=0,y=0;

六 思考题(此思考题可以自己想一个或2个问题,还要写出思考题的答案)

1.if和else的嵌套是以什么规则配对的?

答案:略。

2.如果if和else嵌套比较多的情况下,可以用其他方法实现多分支吗,都有什么方法?

答案:略。

七 实验小结(每个报告必须要写)


第二篇:C语言实验报告答案


实验一

二、编程题(参考答案)

1、

#include “stdio.h”

void main()

{ int Math=82,eng=78,comp=91,average;

average=(Math+eng+comp)/3;

printf(“Math=%d,eng=%d,comp=%d,average=%d\n”,Math,eng,comp,average); }

2、

#include “stdio.h”

void main()

{ int n=152,d1,d2,d3;

d1=n%10;

d2=(n/10)%10;

d3=n/100;

printf(“整数%d的个位数字是%d,十位数字是%d,百位数字是%d\n”,n,d1,d2,d3); }

3、

#include “stdio.h”

void main()

{ int n1,n2;

printf(“Enter n1,n2:”);

scanf(“%d,%d”,&n1,&n2);

printf(“%d+%d=%d\n”,n1,n2,n1+n2);

printf(“%d/%d=%d\n”,n1,n2,n1/n2);

printf(“%d%%%d=%d\n”,n1,n2,n1%n2);

}

三、改错题

原错误行(共三行):

/********************************** found ********************************/ #include “stdoi,h”

/********************************** found ********************************/ printf(“%d=%d*%d\n”,x);

/********************************** found ********************************/ printf(“%d*%d=%d\n”,y);

改正后:

#include “stdio.h”

printf(“%d=%d*%d\n”,y,x,x);

printf(“%d*%d=%d\n”,x,x,y);

实验二

一、改错题

1、原错误行(共三行):

/********************************** found ********************************/ #include “stdoi,h”

/********************************** found ********************************/ scanf(“%lf”,x);

/********************************** found ********************************/ y=1/x

改正后:

#include “stdio.h”

scanf(“%lf”,&x);

y=1/x;

2、原错误行(共两行):

/********************************** found ********************************/ { int i,sum;

/********************************** found ********************************/ for(i=1,i<=100,i++)

改正后:

{ int i,sum=0;

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

二、编程题 (本标题报告上漏印了)

2、 (因为报告上小题号就是从2开始的,没有第1题)

#include “stdio.h”

#include “math.h”

void main()

{ int a,b,c;

float s,area,perimeter;

printf(“请输入三角形的三边:”);

scanf(“%d,%d,%d”,&a,&b,&c);

if(a+b>c&&a+c>b&&b+c>a)

{ perimeter=a+b+c;

s=perimeter/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“area =%.2f,perimeter=%.2f\n”,area,perimeter);

}

else

printf(“不构成三角形”);

}

3、

#include “stdio.h”

void main()

{ int i,m,n;

float sum=0;

printf(“Enter m:”);

scanf(“%d”,&m);

printf(“Enter n:”);

scanf(“%d”,&n);

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

sum=sum+1.0/i;

printf(“sum=%.3f\n”,sum); }

4、

#include “stdio.h”

void main()

{ int i,n;

float sum=0;

printf(“Enter n:”);

scanf(“%d”,&n);

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

sum=sum+1.0/(2*i-1);

printf(“sum=%.2f\n”,sum); }

5、

#include “stdio.h”

void main()

{ int i,m,n;

long a=1,b=1;

printf(“Enter m:”);

scanf(“%d”,&m);

printf(“Enter n:”);

scanf(“%d”,&n);

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

a=a*i;

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

b=b*i;

printf(“%d!+%d!=%ld\n”,m,n,a+b); }

实验三

一、改错题

原错误行(共三行):

/********************************** found ********************************/ double sum;

/********************************** found ********************************/ for(i=1;i<10;i++)

sum=sum+fact(i);

printf(“1!+2!+?+10!=%f\n”,sum);

}

/********************************** found ********************************/ double fact(int n);

改正后:

double sum=0;

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

double fact(int n)

二、编程题

1、

int even(int n)

{ if(n%2==0)

return 1;

else

return 0;

}

2、

int prime(int x)

{ int n;

for(n=2;n<x;n++)

if(x%n==0)

return 0;

if(x>=2)

return 1;

else

return 0;

}

3、

#include “stdio.h”

int fun1(int n)

{ if(n%2==0)

return 1;

else

return 0;

}

int fun2(int x)

{ int n;

for(n=2;n<x;n++)

if(x%n==0)

return 0;

if(x>=2)

return 1;

else

return 0;

}

void main()

{ int i,m,n,a,b;

printf(“Enter m:”);

scanf(“%d”,&m);

printf(“Enter n:”);

scanf(“%d”,&n);

a=fun1(m);

b=fun2(n);

if(a==1) printf(“%d是偶数\n”,m); else printf(“%d是奇数\n”,m); if(b==1) printf(“%d是素数\n”,n); else printf(“%d不是素数\n”,n); }

实验四

一、改错题

1、原错误行(共两行):

/********************************** found ********************************/ { int i,s;

/********************************** found ********************************/ if(str[i]<=’0’||str[i]>=’9’)

改正后:

{ int i,s=0;

if(str[i]>=’0’&&str[i]<=’9’)

2、原错误行(共三行):

/********************************** found ********************************/ { int i,j,n,x,a[n];

/********************************** found ********************************/ a[i] =a[i+1];

/********************************** found ********************************/ a[i]=x; /*插入

改正后:

{ int i,j,n,x,a[10];

a[i+1] =a[i];

a[j]=x;

3、原错误行(共三行):

/********************************** found ********************************/ max=str;

/********************************** found ********************************/

if(max<str)

/********************************** found ********************************/

max=str;

改正后:

strcpy(max,str);

if(strcmp(max,str)<0)

strcpy(max,str);

4、原错误行(共两行):

/********************************** found ********************************/ void fun(int a[],int n) /*该函数求出a数组中n个元素奇数的个数*/

/********************************** found ********************************/ if(a[i]%2==0) m++;

改正后:

int fun(int a[],int n)

if(a[i]%2!=0) m++;

二、编程题

1、

#include “stdio.h”

void main()

{ int i,n,min,max,s1,s2,t,a[10];

printf(“请输入数据个数n值:”);

scanf(“%d”,&n);

printf(“请输入这%d个数:”,n);

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

scanf(“%d”,&a[i]);

min=a[0]; s1=0;

max=a[n-1]; s2=n-1;

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

{ if(a[i]<min) { min=a[i]; s1=i; } if(a[i]>max) { max=a[i]; s2=i; } }

if(s1!=0) { t=a[0];a[0]=a[s1];a[s1]=t; }

if(s2!=n-1) { t=a[n-1];a[n-1]=a[s2];a[s2]=t; } for(i=0;i<n;i++)

printf(“%d ”,a[i]);

}

2、

int sum(int a[],int n)

{ int i,sum=0;

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

sum+=a[i];

return sum;

}

实验五

一、改错题

1、原错误行(共两行):

/********************************** found ********************************/

scanf(“%d”,&p++);

/********************************** found ********************************/

x[0]=x[k];

改正后:

scanf(“%d”,p++);

x[0]=k;

二、编程题

1、

int search(int *a,int n,int x)

{ int i;

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

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

return -1;

}

2、

int fun(char *s)

{ int i,j,n;

n=strlen(s);

for(i=0,j=n-1;i<n/2;i++,j--)

if(s[i]!=s[j])

return 0;

return 1;

}

3、

此题为选作题

#include “stdio.h”

void sort(int *a,int n)

{ int i,j,k,t;

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

{ k=i;

for(j=i+1;j<n;j++)

if(a[j]<a[k]) k=j;

if(k!=i)

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

}

}

main()

{ int a[10],i,n;

printf(“请输入n值:”);

} scanf(“%d”,&n); printf(“请输入这%d个元素值:”,n); for(i=0;i<n;i++) scanf(“%d”,&a[i]); sort(a,n); for(i=0;i<n;i++) printf("%d ",a[i]); printf("\n");

实验六

一、改错题(原错误行共两行):

/********************************** found ********************************/

{ scanf(“%d”,&score[j]);

/********************************** found ********************************/

printf("总分最高的学生是:%s,%d\n", name, sum);

改正后:

{ scanf(“%d”,&a[i].score[j]);

printf("总分最高的学生是:%s,%d\n", a[k].name, a[k].sum);

二、编程题

1、

#include "stdio.h"

typedef struct student /*定义结构体类型*/

{ long num;

char name[9];

int score[3];

float aver;

}STU;

void main()

{ STU a[10];

int i,j,n,s=0;

printf("输入n:");

scanf("%d",&n);

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

{ printf("输入第%d个学生的学号、姓名和3门课成绩:",i+1); scanf("%ld",&a[i].num);

scanf("%s",a[i].name);

s=0;

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

{ scanf("%d",&a[i].score[j]); s+=a[i].score[j]; }

a[i].aver=s/3.0;

}

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

printf("%s,%.2f分\n",a[i].name,a[i].aver);

}

三、填空题

;

}

;

实验七

一、改错题(原错误行共两行):

/********************************** found ********************************/ FILE fp;

/********************************** found ********************************/ if((fp=fopen(“a.txt”,“w”))!=NULL)

改正后:

FILE *fp;

if((fp=fopen(“a.txt”,“w”))==NULL)

二、编程题

1、

#include "stdio.h"

#include "string.h"

void main()

{ FILE *fp;

char a[10];

if((fp=fopen("test.txt","w"))==NULL)

{ printf("error");

exit(0);

}

scanf("%s",a);

strupr(a);

fputs(a,fp);

fclose(fp);

}

2、

#include "stdio.h"

#include "string.h"

void main()

{ FILE *fp;

char a;

if((fp=fopen("test.txt","r"))==NULL)

{ printf("error");

exit(0);

}

while(!feof(fp))

{ a=fgetc(fp);

printf("%c",a);

}

fclose(fp);

}

3、

#include "stdio.h"

#include "stdlib.h"

typedef struct student

{ long num;

char name[9];

int score[3];

float aver;

}STU;

void main()

{ FILE *fp;

int i,j,n,s;

STU a;

scanf("%d",&n);

if ((fp=fopen("stud.dat","wb"))==NULL)

{ printf("File connot be opened\n");

exit(0);

}

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

{ scanf("%ld",&a.num);

scanf("%s",a.name);

s=0;

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

{ scanf("%d",&a.score[j]); s+=a.score[j]; a.aver=s/3.0;

fwrite(&a,sizeof(STU),1,fp);

}

fclose(fp);

}

4、

#include "stdio.h"

#include "stdlib.h"

typedef struct student

{ long num;

char name[9];

int score[3];

float aver;

}STU;

void main()

{ FILE *fp;

int i,j,n,s;

STU a;

if ((fp=fopen("stud.dat","rb"))==NULL)

{ printf("File connot be opened\n"); }

exit(0);

}

while(fread(&a,sizeof(STU),1,fp)!=NULL)

{ printf("%ld\t%s\t",a.num,a.name);

printf("%d\t%d\t%d\t%.2f\n",a.score[0],a.score[1],a.score[2],a.aver); }

fclose(fp);

}

更多相关推荐:
c语言实验报告

四川师范大学计算机科学学院C语言程序设计实验手册20xx年2月年级20xx级专业电子商务班级04班姓名罗桂清学号20xx110438指导教师廖雪花1C语言程序设计实验课程简介课程名称C语言程序设计实验课程性质专...

c语言实验报告

课程设计报告学院课程名称专业班级学生姓名学号指导教师完成时间年月目录1菜单选择程序课程设计2学生信息管理系统课程设计题目1菜单选择程序课程设计一课程设计内容与要求1主菜单编写程序能够显示以下的主菜单主菜单1字母...

C语言实验报告书写格式及模板

大学学院实验报告专业名称实验室实验课程C实验名称姓名学号同组人员实验日期语言程序设计程序设计12345678

c语言实验报告模板完成版

高级语言程序设计学生实验报告专业计算机科学与技术学号姓名1实验一C程序的运行环境和使用方法1实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2了解在该系统上如何编辑编译连接和运行一个C程序3通过运...

C语言实验报告(八)

华北水院高级语言程序设计C语言实验报告20xx20xx学年第二学期20xx级专业班级学号一实验题目文件二实验目的略三实验内容1程序验证用记事本编辑文本文件file1txt分析一下程序的功能及结果并验证inclu...

大学C语言实验报告答案

郑州大学09级C语言实验报告答案实验一1includeltstdiohgtvoidmainintabcscanfquotdddquotampaampbampcprintfquotsumdnquotabc2inc...

C语言实验报告样本

实验报告课程名称C语言程序设计实验项目顺序结构程序设计实验仪器计算机系别机电工程学院专业机械设计制造及其自动化班级学号机械110120xx010008学生姓名郭奎宇实验日期20xx年10月24日成绩指导教师一实...

C语言实验报告(五)

C语言实验报告五一实验目的1掌握使用C语言中数组的方法2掌握如何定义数组如何引用数组元素3掌握二维数组的元素在内存中的存放方式4掌握什么是字符串字符串结束符的作用5实现字符串的存储和操作包括字符串的输入和输出6...

《C语言》课内实验报告7

C语言实验报告一实验题目结构体的应用二实验目的1进一步掌握结构体变量数组的定义和使用方法掌握结构体与指针的应用2学习共用体的概念和使用3学习链表的概念和使用三实验内容1有6个学生每个学生的数据包括学号姓名性别4...

C语言贪吃蛇实验报告

C语言程序设计实训报告姓名专业班级指导教师二011年7月14日11112目录实训目的和要求1实训目的和任务1实训要求122122实训任务内容1游戏规则1流程设计23313233软件使用说明3编辑程序主要软件3编...

c语言三种基本控制结构实验报告

学生实验报告实验课名称C语言实验项目名称三种基本控制结构专业名称班学级号学生姓名教师姓名月日实验日期年月日实验室名称六实验中遇到的问题解决方法及体会在实验过程中写的很多程序显示错误的结果做起来不熟练体会到平时上...

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

C语言程序设计实验报告九专业计算机科学与技术班级卓越工程师班日期20xx年12月23日实验组别第一组成绩第九次实验结构与联合实验指导教师李开学生姓名学号实验名称结构与联合实验一实验目的1熟悉和掌握结构的说明和引...

c语言实验报告(38篇)