当前位置:文档之家› C实验报告答案--2015年

C实验报告答案--2015年

C实验报告答案--2015年
C实验报告答案--2015年

2.1 C程序设计初步

一、实验目的

(1) 熟悉C语言程序的运行环境(VC++ 6.0)。

(2) 掌握C语言程序的上机步骤,了解运行C程序的方法。

(3) 掌握C语言程序的书写格式和C语言程序的结构。

二、实验内容(均要求给出运行结果)

1.程序改错题

(1) 以下程序实现计算x×y的值并将结果输出。请改正程序中的错误。

#include "stdio.h"

void main()

/**********FOUND**********/

{ int x=y=4;

z=x*y;

/**********FOUND**********/

printf("z=%d/n", Z);

}

答案:

=======(答案1)=======

int x=,4,y=4,z;

=======(答案2)=======

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

(2) 以下程序实现输入圆的半径,求圆的周长。请改正程序中的错误。

#include "stdio.h"

void main()

{ int r;

float l;

printf("Enter r:");

scanf("%d", &r);

/**********FOUND**********/

l=2πr

/**********FOUND**********/

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

}

答案:

=======(答案1)=======

l=2*3.14*r;

=======(答案2)=======

printf("l=%f\n", l);

2.程序填空题

(1) 下面程序能对两个整型变量的值进行交换,请填空。

#include "stdio.h"

void main()

{ int a=3,b=4,t;

t=a;

/***********SPACE***********/

【?】;

/***********SPACE***********/

【?】;

printf("a=%d,b=%d\n",a,b);

}

答案:

=======(答案1)=======

a=b

=======(答案2)=======

b=t

(2) 下面程序不用第三个变量,实现两个数的对调操作。

#include

void main()

{ int a,b;

scanf("%d %d",&a,&b);

printf("a=%d,b=%d\n",a,b);

/***********SPACE***********/

a= 【?】 ;

/***********SPACE***********/

b= 【?】 ;

/***********SPACE***********/

a= 【?】 ;

printf("a=%d,b=%d\n",a,b);

}

答案:

=======(答案1)=======

a + b

=======(答案2)=======

a-b

=========或=========

a -b

=======(答案3)=======

a-b

=========或=========

a -b

3.程序设计题

功能:编程实现从键盘输入任意1个大写字母,转换成小写字母后输出。

答案:

#include

void main()

{ char c,d;

scanf("%c",&c);

d=c+32 ;

printf("%c,%c\n",c,d);

}

2.2 顺序结构程序设计

一、实验目的

(1) 掌握赋值语句的功能和使用方法。

(2) 掌握C语言的数据类型,熟悉不同类型变量的定义及赋值的方法。

(3) 学会使用C语言的有关算术运算符,以及包含这些运算符的表达式。

(4) 掌握简单数据类型的输入输出方法,能正确使用格式控制符。

(5) 学习编制简单的C程序。

二、实验内容(均要求给出运行结果)

1.程序改错题

(1) 以下程序输入一个十进制整数,输出与之对应的八进制数与十六进制数。例如,输入31,输出37(八进制)和1F(十六进制)。请改正程序中的错误。

#include

void main()

{ /**********FOUND**********/

n;

printf("输入一个十进制整数:");

/**********FOUND**********/

scanf("%d",n);

/**********FOUND**********/

printf("对应的八进制整数是%O\n",n);

printf("对应的十六进制整数是%X\n",n);

}

答案:

=======(答案1)=======

int n;

=======(答案2)=======

scanf("%d",&n);

=======(答案3)=======

printf("对应的八进制整数是%o\n",n);

(2) 下列程序的功能是计算表达式x=1/2

#include "stdio.h"

/**********FOUND**********/

void main()

{ int a, b;

float x;

scanf("%d,%d",&a,&b);

/**********FOUND**********/

x=1/2+sqrt(a+b);

/**********FOUND**********/

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

}

答案:

=======(答案1)=======

#include "math.h”

=======(答案2)=======

x=1./2+sqrt(a+b);

=======(答案3)=======

printf("x=%f\n",x);

2.程序填空题

(1) 请填写以下程序,要求输出结果如下:

A,B

65,66

#include

void main()

{ /***********SPACE***********/

char a,【?】;

/***********SPACE***********/

a=【?】;

b='b';

a=a-32;

/***********SPACE***********/

b=b-【?】;

printf("%c,%c\n%d,%d\n",a,b,a,b);

}

答案:

=======(答案1)=======

b

=======(答案2)=======

'a'

=========或=========

97

=======(答案3)=======

32

(2) 下列程序的功能是要求输出如下结果,请填入合适的变量完善程序。

b=-1 a=65535

a=65534

a=30 b=6 c=5

#include

void main()

{ /***********SPACE***********/

int b=-1,【?】;

unsigned short int a;

/***********SPACE***********/

a=【?】;

printf("b=%d a=%u\n",b,a);

/***********SPACE***********/

【?】+=b;

printf("a=%u\n",a);

/***********SPACE***********/

b=(a=30)/【?】;

printf("a=%d b=%d c=%d\n",a,b,c);

}

答案:

=======(答案1)=======

c

=======(答案2)=======

b

=======(答案3)=======

a

=======(答案4)=======

(c=5)

3.程序设计题

功能:输入摄氏温度c,求华氏温度f。转换公式为f=9/5c+32,输出结果取两位小数。(说明:因为关于函数调用的知识在第7章讲解,所以在现阶段本程序的设计可以改用一个主函数来完成。)

#include

double fun(double m)

{ /**********Program**********/

/********** End **********/

}

void main()

{ double c,f;

printf("请输入一个摄氏温度:");

scanf("%lf",&c);

f=fun(c);

printf("华氏温度为:%5.2f\n",f);

}

答案:

float n;

n=9.0/5.0*m+32;

return n;

2.3 选择结构程序设计

一、实验目的

(1) 掌握关系运算符、逻辑运算符、条件运算符的使用方法。

(2) 掌握if语句和switch语句的使用方法。

(3) 学会调试程序,并掌握一些简单的算法。

(4) 掌握选择结构程序的设计技巧。

二、实验内容(均要求给出运行结果)

1.程序改错题

(1) 以下程序的功能是判断一个5位数是否为回文数,即12321是回文数,个位与万位相同,十位与千位相同。请改正程序中的错误。

#include

void main()

{ /**********FOUND**********/

long ge,shi,qian;wan,x;

scanf("%ld",&x);

/**********FOUND**********/

wan=x%10000;

qian=x%10000/1000;

shi=x%100/10;

ge=x%10;

/**********FOUND**********/

if (ge==wan||shi==qian)

printf("this number is a huiwen\n");

else

printf("this number is not a huiwen\n");

}

答案:

=======(答案1)=======

long ge,shi,qian,wan,x;

=======(答案2)=======

wan=x/10000;

=======(答案3)=======

if (ge==wan&&shi==qian)

=========或=========

if (shi==qian&&ge==wan)

(2) 利用条件运算符的嵌套来完成此题:学习成绩为90分以上(包括90分)的学生用A 表示,60~89分的用B表示,60分以下的用C表示。请改正程序中的错误。

#include

void main()

{ int score;

/**********FOUND**********/

char *grade;

printf("please input a score\n");

/**********FOUND**********/

scanf("%d",score);

/**********FOUND**********/

grade=score>=90?'A';(score>=60?'B':'C');

printf("%d belongs to %c\n",score,grade);

}

答案:

=======(答案1)=======

char grade;

=======(答案2)=======

scanf("%d",&score);

=======(答案3)=======

grade=score>=90?'A':(score>=60?'B':'C');

2.程序填空题

(1) 以下程序实现输出x、y、z这3个数中的最大者。

#include

void main()

{ int x = 4, y = 6,z = 7;

/***********SPACE***********/

int u ,【?】;

if(x>y)

/***********SPACE***********/

【?】;

else

u = y;

if(u>z)

v = u;

else

v=z;

printf("the max is %d\n",v );

}

答案:

=======(答案1)=======

v

=======(答案2)=======

u=x

(2) 输入某年某月某日,判断这一天是这一年的第几天。

#include

void main()

{ int day,month,year,sum,leap;

printf("\nplease input year,month,day\n");

scanf("%d,%d,%d",&year,&month,&day);

switch(month)

{ case 1:sum=0;break;

case 2:sum=31;break;

case 3:sum=59;break;

/***********SPACE***********/

case 4:【?】;break;

case 5:sum=120;break;

case 6:sum=151;break;

case 7:sum=181;break;

case 8:sum=212;break;

case 9:sum=243;break;

case 10:sum=273;break;

case 11:sum=304;break;

case 12:sum=334;break;

default:printf("data error");break;

}

/***********SPACE***********/

【?】;

/***********SPACE***********/

if(year%400==0||【?】)

leap=1;

else

leap=0;

/***********SPACE***********/

if(【?】)

sum++;

printf("it is the %dth day.",sum);

}

答案:

=======(答案1)=======

sum=90

=======(答案2)=======

sum=sum+day

=========或=========

sum= sum + day

=======(答案3)=======

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

=========或=========

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

=======(答案4)=======

leap==1&&month>2

=========或=========

leap == 1 && month>2

=========或=========

leap == 1 && 2

3.程序设计题

功能:对某一浮点数保留2位小数,并对第三位小数进行四舍五入。输出6位小数,后4位均为0。(说明:因受所学知识的限制,现阶段可以只用一个主函数来完成。) #include

#include "conio.h"

double fun(float h)

{ /**********Program**********/

/********** End **********/

}

void main()

{ float m;

printf("Enter m: ");

scanf("%f", &m);

printf("\nThe result is %f\n", fun(m));

}

答案:----------------------

int i;

i=(int)(h*1000)%10;

if(i>=5)

return(int)(h*100+1)/100.0;

else

return(int)(h*100)/100.0;

----------------------

2.4 单层循环程序设计

一、实验目的

(1) 掌握while语句、do-while语句和for语句的基本使用方法。

(2) 掌握循环结构程序设计的一些常用算法。

二、实验内容(均要求给出运行结果)

1.程序改错题

(1) 以下程序实现求出1×1+2×2+…+n×n≤1000中满足条件的最大的n。

#include

void main()

{ int n,s;

/**********FOUND**********/

s==n=0;

/**********FOUND**********/

while(s>1000)

{ ++n;

s+=n*n;

}

/**********FOUND**********/

printf("n=%d\n",&n-1);

}

答案:

=======(答案1)=======

s=n=0;

=======(答案2)=======

while(s<=1000)

=======(答案3)=======

printf("n=%d\n",n-1);

(2) 一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

#include

void main()

{ /**********FOUND**********/

float sn=100.0;hn=sn/2;

int n;

/**********FOUND**********/

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

{ sn=sn+2*hn;

/**********FOUND**********/

hn=hn%2;

}

printf("the total of road is %f\n",sn);

printf("the tenth is %f meter\n",hn);

}

=======(答案1)=======

float sn=100.0,hn=sn/2;

=======(答案2)=======

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

=========或=========

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

=======(答案3)=======

hn=hn/2;

2.程序填空题

(1) 以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。请填空。

#include

void main()

{ int i,n,sum;

sum=0;

/***********SPACE***********/

【?】;

/***********SPACE***********/

for(i=1; 【?】 ;i++)

/***********SPACE***********/

if(【?】)

if(i%2==0)

{ sum=sum+i;

n++;

printf("%6d",i);

/***********SPACE***********/

if(【?】)

printf("\n");

}

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

}

答案:

=======(答案1)=======

n=0

=======(答案2)=======

i<=300

=========或=========

i<300

=========或=========

300>=i

=========或=========

=======(答案3)=======

i%7 == 0 || i%17 == 0

=========或=========

!(i%7)||!(i%17)

=========或=========

!(i%17)||!(i%7)

=========或=========

!(i%7&&i%17)

=======(答案4)=======

n%5 == 0

=========或=========

!(n%5)

=========或=========

n/5*5==n

(2) 计算平均成绩并统计90分以上的人数。请填空。

#include

void main ()

{ int n,m;

float grade,average;

average=0.0;

/***********SPACE***********/

n=m=【?】;

while(1)

{ /***********SPACE***********/

【?】("%f",&grade);

if(grade<0)

break;

n++;

average+=grade;

/***********SPACE***********/

if(grade<90)

【?】;

m++;

}

if(n)

printf("%.2f\n%d\n",average/n,m);

}

答案:

=======(答案1)=======

=======(答案2)=======

scanf

=======(答案3)=======

continue

3.程序设计题

功能:求一个四位数的各位数字的立方和。(说明:因为关于函数调用的知识在第7章讲解,所以在现阶段本程序的设计可以改用一个主函数来完成。)

#include

int fun(int n)

{ /**********Program**********/

/********** End **********/

}

void main()

{ int k;

k=fun(1234);

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

}

答案:----------------------

int d,s=0;

while (n>0)

{d=n%10;

s+=d*d*d;

n/=10;

}

return s;

----------------------

2.5 嵌套循环程序设计

一、实验目的

(1) 掌握循环嵌套的程序设计方法。

(2) 掌握break语句和continue语句的使用方法。

(3) 掌握结构化程序设计的基本技巧和方法。

二、实验内容(均要求给出运行结果)

1.程序改错题

(1) 以下程序的功能是循环读取7个整数(1~50),每读取一个整数存入变量a,程序打印出a个*。

#include

void main()

{ int i,a,n=1;

/**********FOUND**********/

while(n<7)

{ do

{ scanf("%d",&a);

}

/**********FOUND**********/

while(a<1&&a>50);

/**********FOUND**********/

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

printf("*");

printf("\n");

n++;

}

}

答案:

=======(答案1)=======

while(n<=7)

=========或=========

while(n<8)

=======(答案2)=======

while(a<1||a>50);

=========或=========

while(a>50||a<1);

=======(答案3)=======

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

(2) 以下程序的功能是将一个正整数分解质因数。例如,输入90,打印出90=2*3*3*5。

#include

void main()

{ int n,i;

printf("\nplease input a number:\n");

scanf("%d",&n);

printf("%d=",n);

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

{ /**********FOUND**********/

while(n==i)

{ /**********FOUND**********/

if(n%i==1)

{ printf("%d*",i);

/**********FOUND**********/

n=n%i;

}

else

break;

}

}

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

}

答案:

=======(答案1)=======

while(n!=i)

=======(答案2)=======

if(n%i==0)

=========或=========

if (!(n%i))

=======(答案3)=======

n=n/i;

2.程序填空题

(1) 输出1到100之间每位数的乘积大于每位数的和的数。例如,数字26,数位上数字的乘积12大于数字之和8。

#include

void main()

{ int n,k=1,s=0,m;

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

{ k=1;

s=0;

/***********SPACE***********/

【?】 ;

/***********SPACE***********/

while( 【?】 )

{ k*=m%10;

s+=m%10;

/***********SPACE***********/

【?】;

}

if(k>s)

printf("%d ",n);

}

}

答案:

=======(答案1)=======

m=n

=======(答案2)=======

m>0

=========或=========

0

=======(答案3)=======

m=m/10

=========或=========

m/=10

(2) 如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身) 之和等于A,则将整数A和B称为亲密数。求3000 以内的全部亲密数。请填空。

#include

void main()

{ int a, i, b, n ;

printf("Friendly-numbers pair samller than 3000:\n") ;

for(a=1 ; a<3000 ; a++)

{ for(b=0,i=1 ; i<=a/2 ; i++ )

/***********SPACE***********/

if(!(a%i))

【?】 ;

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

/***********SPACE***********/

if(!(b%i))

【?】 ;

/***********SPACE***********/

if(【?】 && a

printf("%4d~%4d\n",a,b) ;

}

}

答案:

=======(答案1)=======

b+=i

=========或=========

b=b+i

=======(答案2)=======

n+=i

=========或=========

n=n+i

=======(答案3)=======

n == a

3.程序设计题

功能:求给定正整数m以内的素数之和。例如,当m=20时,函数值为77。(说明:因为关于函数调用的知识在第7章讲解,所以在现阶段本程序的设计可以改用一个主函数来完

成。)

#include

int fun(int m)

{ /**********Program**********/

/********** End **********/

}

void main()

{ int y;

y=fun(20);

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

}

答案:----------------------

int i,k,s=0;

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

{for(k=2;k

if(i%k==0)break;

if(k==i)s=s+i;

}

return s;

----------------------

2.6 一维数组程序设计

一、实验目的

(1) 掌握一维数组的定义、赋值、初始化及输入输出的方法。

(2) 掌握与数组有关的算法(重点是排序算法)。

二、实验内容(均要求给出运行结果)

1.程序改错题

(1) 以下程序的功能是在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。请改正程序中的错误。

#include

#define N 11

void main()

{ int i,number,a[N]={1,2,4,6,8,9,12,15,149,156};

printf("please enter an integer to insert in the array:\n");

/**********FOUND**********/

scanf("%d",&number)

printf("The original array:\n");

for(i=0;i

printf("%5d",a[i]);

printf("\n");

/**********FOUND**********/

for(i=N-1;i>=0;i--)

if(number<=a[i])

/**********FOUND**********/

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

else

{ a[i+1]=number;

/**********FOUND**********/

exit;

}

if(number

printf("The result array:\n");

for(i=0;i

printf("%5d",a[i]);

printf("\n");

}

答案:

=======(答案1)=======

scanf("%d",&number);

=======(答案2)=======

for(i=N-2;i>=0;i--)

=========或=========

for(i=N-2;0<=i;i--)

=======(答案3)=======

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

=======(答案4)=======

break;

(2) 以下程序的功能是某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后除以10的余数代替该位数字。再将新生成数据的第一位和第四位交换,第二位和第三位交换。例如,输入一个四位整数1234,则结果为9876。请改正程序中的错误。

#include

void main()

{ int a,i,aa[4],t;

printf("输入一个四位整数:");

/**********FOUND**********/

scanf("%d",a);

aa[0]=a%10;

/**********FOUND**********/

aa[1]=a%100%10;

aa[2]=a%1000/100;

aa[3]=a/1000;

/**********FOUND**********/

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

{ aa[i]+=5;

aa[i]%=10;

}

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

{ t=aa[i];

aa[i]=aa[3-i];

aa[3-i]=t;

}

for(i=3;i>=0;i--)

printf("%d",aa[i]);

}

答案:

=======(答案1)=======

scanf("%d",&a);

=======(答案2)=======

aa[1]=a%100/10;

=======(答案3)=======

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

=========或=========

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

2.程序填空题

(1) 以下程序的功能是输出1000以内的所有完数及其因子。说明:所谓完数是指一个整数的值等于它的因子之和。例如,6的因子是1、2、3,而6=1+2+3,故6是一个完数。请填空。

#include

void main()

{ int i,j,m,s,k,a[100] ;

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

{ m=i ;

s=0 ;

k=0 ;

for(j=1 ; j

/***********SPACE***********/

if(【?】)

{ s=s+j ;

/***********SPACE***********/

【?】=j ;

}

if(s!=0&&s==m)

{ /***********SPACE***********/

for(j=0 ; 【?】 ; j++)

大一上期C语言实验报告1熟悉实验环境

成都工业学院·计算机工程学院 《程序设计基础》实验报告 1.实验目的 (1)熟悉C语言运行环境,了解和使用Visual6.0++集成开发环境(2)熟悉Visual6.0++环境的功能键和常用的功能菜单命令 (3)掌握C语言程序的书写格式和C语言程序的结构 (4)掌握C语言上机步骤,以及编辑、编译和运行一个C语言程序的方法 (5)熟悉Visual6.0++环境下的程序调试方法 2.实验内容 (1)按照实验步骤编辑、编译、运行第一个”Hello World”程序(2)利用实验指导中的第二个程序熟悉调试工具,在已知x,y值的情况下,计算出x和y的和、差、积、商,并显示出来(3)编写一个程序,输入a、b、c三个值,输出它们的和与平均值c 3.源程序 (1)#include void main() {printf(”Hello World”);} (2)#include void main() {int x=5,y=2; int s,d,p,q; s=x+y; d=x-y; p=x*y; q=x/y; printf(“和:%d差:%d积%d商:%d“,s,d,p,q);}

(3)#include void main() {int a,b,c.sum; float ave; Printf(“Please enter the a,b,c:”); scanf(“%d%d%d”,&a,&b,&c); sum=a+b+c; ave=(float)sum/3; printf(“sum=%d,ave=%f\n”,sum,ave);} 4.运行结果 (1) (2) (3)输入18、46、69测试得出答案如下

游戏C语言实验报告完整版

游戏C语言实验报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录

一、实验目的和要求 (1)使用C语言编写2048这款游戏。 (2)能够正常运行,拥有游戏界面。 (3)能正常进行游戏从开始到结束。? (4)用户操作方便。 二、实验环境、内容和方法 实验内容:1、游戏开始时随机产生两个数值为2/4的方格,其中一个方格置于4个角中的一个位置,另一个方格随机的置于其他位置,其他方格置于0。 2、每次按方向键(w,s,a,d)后,逐行计算移动后的方格值。每行移动的算法是:先将所有值为0的数移至行首。能后从行尾开始逐一和前一个数比较,如果相等则合并这2个格子。 3、每合并一次格子,将其值累计到游戏总分中。 4、一次移动结束后,在所有值为0的方格中随机的分配一个2/4的值。 5、所有方格值不为0且上下、左右相邻的方格都不相等,则游戏结束。 6、2出现的概率为70%,4出现的概率为30%。 实验方法: 通过上机操作完成各内容。 实验环境: 实验用PC机一台,使用操作系统为Windows 7/ Windows 8/ Windows10,安装 vc++或v2008等编译软件 三、程序设计 Y

四、源代码 #include<> #include<> #include<> #include<> #define M 2048 void up(); n"); printf(" 玩家可以选择上(w)下(s)左(a)右(d)四个方向,若棋盘内的数字出现位移或合并,视为有效移动.\n"); printf(" 若有相同的数字则合并,每次有效移动可以同时合并,但不可以连续合并.\n"); printf(" 合并所得的所有新生成数字想加即为该步的有效得分.\n"); printf(" 玩家选择的方向行或列前方有空格则出现位移.\n"); printf(" 每有效移动一步,棋盘的空位(无数字处)随机出现一个数字(依然可能为2或4).\n"); printf(" 棋盘被数字填满,无法进行有效移动,判负,游戏结束.\n"); printf(" 棋盘上出现2048,判胜,游戏结束"); printf("\n\n\n"); printf(" \t\t\t按回车开始游戏.\n"); getchar(\n);

C语言实验报告参考答案 原

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include main() {

int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include main() { int a,b,c,d; float x; a=160; b=46; c=18;

d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b 时,将0赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7

C语言实验报告合集

《C语言程序设计》实验报告 专业:班级:学号:学生姓名:实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验一熟悉VC++环境 二、实验目的 1. 熟悉C程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h" int main() {int a,b,sum; a=2; b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum); return 0; } 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

《C语言程序设计》实验报告 专业:班级:学号:学生姓名: 实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验二顺序结构程序设计 二、实验目的 (1)掌握C语言数据类型以及变量的声明。 (2)掌握C语言的赋值运算符、赋值表达式、赋值语句。 (3)掌握C语言的整型和字符型的混合运算。 (4)掌握C语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f,请编写程序把它转换为摄氏温度c。 已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3.将字符串“China”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母 替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include <> main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include<> main() { int a,b,c,x,y; a=150; b=20; c=45;

x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句

C语言实验报告

《C语言程序设计实训1》报告 设计题目:基于数组的学生信息管理系统学院名称:信息科学技术学院

专业:计算机科学与技术 班级: 姓名:学号 指导教师: 提交日期: 2014年12月22日 一、实验内容 编写并调试程序,实现学校各专业班级学生信息的管理。10个学生的信息存储在文件中。在头文件中定义学生信息的结构体类型,包括: 学号、姓名、专业、班级、3门成绩;和符号常量N(学生数)。(同一班 级的学生可以属于不同的专业,同一专业的学生可以属于不同的班级)

二、实验要求 (1)main函数:以菜单形式将各项功能提供给用户,根据用户的选择, 调用相应的函数。 STU student[N]; 函数 #include "" void main() { int i,n,id,num,m,sub,corse;将从文件中读取10个人的信\n"); printf("\n2.您将从文件中随机读取第n(0<=n<=9)个学生的信息\n") printf("\n3.您将根据某一班级某一专业总分超过多少进行查找\n"); printf("\n4.您将求某一课程分数最高的学生序号的下标\n"); printf("\n5.您将对平均成绩由低到高进行简单选择排序法\n ");

printf("\n6.您将对某一个班的平均成绩由低到高进行起泡排序法\n"); printf("\n7.您将对某门专业的学生的某门课程成绩由低到高进行直接插入排序法\n"); printf("\n8.您将把学生信息存入文件\n"); scanf("%d",&id); getchar(); switch(id){ case 1: { printf("\n从文件中读取信息\n"); Input(students,sizeof(students)/sizeof(STU));Sort_select 函数 #include "" void Sort_select(STU * p) { int i,j,k; float sum,ave[N],t; STU tem; for(i=0;i

2010C语言实验报告参考答案

2010C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a;

C语言实验报告合集

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验一 熟悉VC++环境 二、实验目的 1. 熟悉C 程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C 程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C 程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h"int main(){int a,b,sum;a=2;b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum);return 0;} 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验二 顺序结构程序设计 二、实验目的 (1)掌握C 语言数据类型以及变量的声明。 (2)掌握C 语言的赋值运算符、赋值表达式、赋值语句。(3)掌握C 语言的整型和字符型的混合运算。(4)掌握C 语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f ,请编写程序把它转换为摄氏温度c 。已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3. 将字符串“China ”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2. 软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码:运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

哈工大(威海)c语言实验报告册答案

实验1简单判定性问题求解 一、实验学时 完成本实验需4学时。 二、实验目的 1、阅读程序题 (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法; (2)掌握不同的类型数据之间赋值的规律; (3)掌握数据在内存中的存储方式; (4)学会输入、输出函数的基本格式和使用方法; (5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。 2、编程题 (1)如何运用if-else判定性结构进行程序设计; (2)如何运用switch判定性结构进行程序设计。 3、调试题 (1)熟悉C程序的编辑、编译、连接和运行的过程。 三、实验指导 为了达到最佳的实验效果,以下提供几条适于编程的指导意见,可供参考。 1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。 2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。要注意简单判定性问题的结构选择。 3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。

四、实验内容 1、阅读程序题 (1)main( ) { /*定义字符型变量*/ char c1,c2; /*向字符变量赋以整数*/ c1=97; c2=98; printf("%c %c\n",c1,c2); /*以字符形式输出*/ printf("%d %d\n",c1,c2); /*以整数形式输出*/ } 思考:可否改成int c1,c2;输出结果是?相同 (2)main() { int a=7,b=5; printf("%d\n",b=b/a); } 思考:若将printf语句中%d变为%f,可否输出分式的值?可以(3)main() { int a=9; a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/ printf("%d\n",a); } 思考:赋值表达式a+=a-=a+a的求解步骤? 第一步:a=a-(a+a)=-9 第二步a=a+a=18 (4)main() { int k=-1; printf("%d,%u\n",k,k);

c语言实验报告

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); } ○1运行此程序。 ○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 ○3将第3行改为 int c1,c2; 再运行,并分析结果。 ○4再将第4、5行改为 c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 ○5再将第4、5行改为 c1=‘’a‘’; c2=‘’b‘’; 再运行,并分析结果。 ○6再将第4、5行改为 c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116';

C语言实验报告参考源代码

实验5三种基本结构的综合应用 4.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的个数。 #include "stdio.h" main() {int i,j,k,m,p,q,n=0; for(i=100;i<=999;i++) {for(j=2;j=i) /*三位数是素数时*/ {k=i%100; /*去掉百位数字*/ if(k>=10) /*十位数字不是0时*/ {for(m=2;m=k) /*两位数是素数时*/ {p=i%10; /*p为个位数字*/ for(q=2;q=p)n++;}}}} printf("%d\n",n);} Key:57 5.求[2,400]中相差为10的相邻素数对的对数。 #include "stdio.h" main() {int i,j,k,m,p,q,n=0; for(i=2;i<=400;i++) {for(j=2;j=i) /*i是素数时*/ {for(k=i+1;k=k)break;} /*k是素数时终止if语句的外层循环*/ if(k>=i+10) /*[i+1,i+9]不是素数时*/ {for(q=2;q

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

c语言实验报告1

C语言程序设计报告 日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break; } else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m)

int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。 :程序如下: #include #include #include int Magic(int x); int Answer(); int Exam(); main() { int n; n=Exam(); if(n==0) printf("Right\n"); else if(n==1) printf("Wrong!You have tried

C语言实验报告参考答案

《C语言程序设计》 实 验 手 册

《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。

三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析:运行结果为: Printf函数语句表示输出引号内的字符串,最后的\n表示换行, 将程序中的\n去掉后,运行结果及分析:运行结果为: 去掉\n后不换行连续显示 (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析: sum=100+20=120;sb=100/20=5. (3)#include void main( )

C语言程序设计实验报告(完整版)

报告编号:YT-FS-4244-21 C语言程序设计实验报告 (完整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

C语言程序设计实验报告(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 实验名称计算出1000以内10个素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和 witch语句格式及使用方法,掌握if语句中的嵌套关 系和匹配原则,利用if语句和switch语句实现分支 选择结构。 2、熟练掌握while语句、do…while语句和for 语句格式及使用方法,掌握三种循环控制语句的循环 过程以及循环结构的嵌套,利用循环语句实现循环结 构。 3、掌握简单、常用的算法,并在编程过程中体验 各种算法的编程技巧。进一步学习调试程序,掌握语 法错误和逻辑错误的检查方法。

实验内容 计算并输出1000以内的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 Main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数 */ { int t,i;

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);

C语言实验报告

郑州轻工业学院 实践报告 实现内容: OJ1123最佳校友(数组)、OJ1158又是升序(指针)、OJ1180成绩统计(结构)、OJ1203做幻方(文件) 学号:541507020140 学生姓名:王红旭 专业班级:电子信息科学与技术15-01 所在院系:计算机与通信工程学院 指导教师:王秉政 成绩: 实践名称:上机实验课 来源课程:[0404230]C程序设计进阶 实践时间:2016.03-05 实践地点:科学校区实验楼301 报告撰写时间:2016.05.10 1123最佳校友(数组)

1实践目的 为了方便数组的管理和使用,提高程序设计的效率。 2 实践要求 熟练使用数组解决问题。 3 使用的技术、知识点、工具等 C语言程序设计书本教材,数组等。 4 需求分析和功能描述 要求;北京校友会每年举办两次,所有校友都有校友编号,每次到会的校友都在签到簿上写下自己的编号和姓名,在校友会成立5周年的聚会上将颁发“最佳校友奖”,该奖项颁发给到会次数最多的校友。现在请你编写程序,找出这个奖项的得主。若有多个校友并列第一,则均可获奖。 5 系统总体设计 #include int main() { int a[100]={0}; int i,n,max,k; while(scanf("%d",&n),n>=0) a[n]++; max=a[0]; for(i=1;i<100;i++) { if(a[i]>max) max=a[i]; } k=0; for(i=0;i<100;i++) { if(a[i]==max) { if(k==0) printf("%d",i); else printf(" %d",i); k++; } }

C语言实验报告 C

实验编号:05四川师大实验报告2016年月日 计算机科学学院级06班实验名称:函数_ 姓名:仁青拉初_______学号:2014110637指导老师:_刘洪_实验成绩:_____ 实验五函数实验 (验证性综合性实验4学时) 1、目的要求: (1)学习函数的编程思想,编写一个包括3~4个函数的程序。 (2)掌握函数中参数传递的两种方式和函数的相互调用。 (3)编写实验报告。 2、实验内容(参考实验指导书): (1)写一个函数int digit(int n,int k),它返回数n的从右向左的第k个十进数字值。例如,函数调用digit(1234,2)将返回值3。 (2)写一个函数int isprime(int n),当n是质数时,函数返回非零值;当n是合数时,函数返回零值。 (3)写一个函数reverse(char s[]),将字符串s[]中的字符串倒序输出。试分别用递归和非递归两种形式编写。 (4)写一个主函数输入测试数据(自己指定),并调用上述函数,检查函数功能的正确性。(5)一个数如果从左到右和从右到左读,数字是相同的,则称这个数字为回文数,比如898、1221、15651都是回文数。求:既是回文数又是质数的5位十进制数有多少个?要求:回文判断和质数判断都需要通过子函数实现,输出的时候要求5个数字一行。 (5)在n个已排好序(设为从小到大)的数据(数或字符串)中查找某一个数据,如果找到了,就指出其在n个数中的位置;否则给出无该数据的信息。请用递归的方法实现二分查找来实现这一查找过程。 提示:采用二分法求解本问题的基本思路是:设数列为a1,a2,…,a n,被查找的数为x,则查找首先对a m(m=(n+1)/2)进行,于是得到三种情形。 若x>a m,则x只可能在区间[a m+1,a n] 若x

C语言实验报告参考答案完整版

C语言实验报告参考答 案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include <> main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include<> main() { int a,b,c,x,y; a=150; b=20;

c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。

相关主题
文本预览
相关文档 最新文档