计算机C语言实验报告含答案

  • 格式:doc
  • 大小:68.50 KB
  • 文档页数:14

1

高级语言程序设计(C语言)实验报告。

„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„

一、实验题目:语句与顺序结构控制

程序设计

1)编写程序,已知圆半径radius=1.25,求圆周长和面积。

源代码: 运行结果:

#include d=7.853981

#define PI 3.1415926 s=4.908735

void main()

{

float r=1.25,d,s;

d=2.0*PI*r;

s=PI*r*r;

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

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

}

2)编写程序完成大写字母的小写转换。

源代码: 运行结果:

#include 请输入一个大写字母:H

void main() H h

{

char ch1,ch2;

printf("请输入一个大写字母:");

ch1=getchar();

ch2=ch1+32;

printf("%c %c\n",ch1,ch2);

}

2

3)任意从键盘输入一个三位整数,要求正确分离出它的个位、十位和百位数,并分别在屏幕上显示。

源代码: 运行结果:

#include 请输入一个整数 :123

void main() b=1,s=2,g=3

{

int a,g,s,b;

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

scanf("%d",&a);

b=a/100;

s=(a%100)/10;

g=a%10;

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

}

二、实验题目:选择结构程序设计

程序设计

1)设变量a、b、c分别存放从键盘输入的3个整数。编写程序,按从大到小的顺序排列这3个整数,使a成为最大的,c成为最小的,并且按序输出这3个整数。

源代码: 运行结果:

#include please input a,b,c:4,6,10

void main() 10,6,4

{

int a,b,c,t;

printf("please input a,b,c: ");

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

if(a

if(a

if(b

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

}

2)输入某学生的考试成绩等级A、B 、C、 D,要求按照等级输出对应的分数段。A级对应分数段为80~100,B级对应分数段70~79, C级对应分数段60~69 , D级对应分数段为60分以下。

源代码: 运行结果:

3

#include 请输入成绩等级B

void main() B--- 70 ~79

{

char c;

printf("请输入成绩等级");

c=getchar();

switch(c)

{

case 'A': printf("%c --- 80 ~100\n ",c);break;

case 'B': printf("%c --- 70 ~79\n",c);break;

case 'C': printf("%c --- 60 ~69\n ",c);break;

case 'D': printf("%c --- 60分以下\n",c);break;

default: printf("输入错误\n");

}

}

三、实验题目:循环结构程序设计

程序设计

1) 找出100-900之间的无暇素数。所谓无暇素数是指本身为素数,且其逆序数也是素数的数。例如:113是一个素数,311也是一个素数,113就是无暇素数。

源代码: 运行结果:

#include 101 107 113 131 149

void main() 151 157 167 179 181

{ 191 199 311 313 337

int i,j,flag1,flag2,g,s,b,r,count; 347 353 359 373 383

count=0; 389 701 709 727 733

for (i=100;i<=900;i++) 739 743 751 757 761

{ 769 787 797

b=i/100;

s=(i%100)/10;

g=i%10;

r=g*100+s*10+b;

flag1=flag2=1;

4

for (j=2;j

if (i%j==0) flag1=0;

for (j=2;j

if (r%j==0) flag2=0;

if (flag1&&flag2)

{count++;

printf("%5d ",i);

if (count%5==0) printf("\n");

}

}

}

2) 编程:用迭代法求某数a的平方根。平方根的迭代公式如下:

xn+1=(xn+a/xn)/2; 设x0=a/2;

当迭代相邻两项差的绝对值小于10-5时,迭代结束。

源代码: 运行结果:

#include 请输入一个实数:4

#include 2.000000,2.000000

void main()

{

double a,x1,x2,d;

printf("请输入一个实数:");

scanf("%lf",&a);

x1=a/2.0;

do

{

x2=(x1+a/x1)/2.0;

d=fabs(x1-x2);

x1=x2;

}

while (d>=1.0E-5);

5

printf("%f,%f\n",x2,sqrt(a));

}

四、实验题目:数组

程序设计

1) 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。编程找出 1000

以内的所有完全数,并输出使该数成为完全数的因子。(例如6=1+2+3。按照6, its

factors are 1,2,3格式输出)。

源代码: 运行结果:

#include 6,its facts are 1 2 3

void main() 28,its facts are 1 2 4 7 14

{ 496,its facts are 1 2 4 8 16 31 62 124 248

int i,j,count,sum,f[1000];

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

{

count=0;sum=0;

for (j=1;j

if (i%j==0)

{

f[count]=j;

sum=sum+f[count];

count++;

}

if (i==sum)

{

printf("%d,its facts are ",i);

for (j=0;j

printf("\n");

}

}

}

6

2) 从键盘输入字符串a和字符串b,并在a串中的最小元素(不含结束符)后面插入字符串b。

源代码: 运行结果:

#include dfghj

#include qwerty

#define N 80 dqwertyfghj

void main ()

{

char a[N],b[N],c[N];

int min,i,j,n;

gets(a);

gets(b);

min=0;

for(i=1;a[i]!='\0';i++)

if(a[i]

n=strlen(b);

for(j=0,i=min+1;a[i]!='\0';i++)