计算机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++)