C语言课程实习(优秀)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言课程实训报告”。
课程实习
一、C程序上机操作方法及运行环境
编写一个C程序,输入a, b, c,d四个值,输出其中最小者。
#include
main()
{
int a,b,c,d,t;
printf(“Please input numbers:”);
scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);
t=min(min(min(a,b),c),d);
printf(“min number is:%dn”,t);
}
int min(int x,int y)
{
int z;
if(x
z=x;
else
z=y;
return(z);
}
运行结果:Please input numbers:4,6,3,9
min number is:
3课程实习
二、C程序上机操作方法及运行环境
从键盘输入三个字符,要求输出这三个字符,并输出它们的ASCII码及其ASCII码的平方根和的平方。
#include
#include
void main()
{
char ch1,ch2,ch3;
float t;
scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);
t=sqrt(ch1)+sqrt(ch2)+sqrt(ch3);
printf(“%c,%dn”,ch1,ch1);
printf(“%c,%dn”,ch2,ch2);
printf(“%c,%dn”,ch3,ch3);
printf(“%fn”,t*t);
}
运行结果:a,b,c
a,97
b,98
c,99
881.98468
3课程实习
三、循环结构程序设计
1)输入两个正整数m和n;
2)如果m=n输出最大公约数m程序结束;
3)若m>n则m=m-n否则n=n-m;
4)返回到2)(循环)。
#include
void main()
{
int m,n;
scanf(“%d%d”,&m,&n);
while(m!=n)
{
if(m>n)m=m-n;
else n=n-m;
}
printf(“%dn”,m);
}
运行结果:
34,2
4课程实习
四、循环结构程序设计
打印下面的图案
# # # # #
# # # #
# # #
# #
#include
void main()
{
int i,j;
for(i=1;i
{
for(j=1;j
printf(“ ”);
for(j=5;j>=i;j--)
printf(“*”);
putchar('n');
}
}
课程实习
五、数组的应用
输入一个0到150之间的十进制整数,要求把此数转化为二进制形式。如:
143↙ 10001111
#include
void main()
{
int a,b[7],i;
scanf(“%d”,&a);
for(i=0;i
{
if(a/2
b[i]=1;
if(a==3)
b[i]=1,b[i+1]=1;
else
b[i]=a%2;
{
if(a%2==0)
a=a/2;
else
a=(a-1)/2;
}
}
printf(“%d%d%d%d%d%d%d%dn”,b[7],b[6],b[5],b[4],b[3],b[2],b[
1],b[0]);
}
运行结果:
0110001
1课程实习
六、函数
输入10个景区内的5个不同景点门票价位,分别用函数求:
①每个景区平均价位;
②每个景点的平均价位;
③找出最高的价位所对应的景点和景区。
#include
#define n1 10
#define n2 5
float a_jingqu[n1],a_jingdian[n2];
void main()
{
void input(float a[][n2]);
void jingqu_aver(float a[][n2]);
void jingdian_aver(float a[][n2]);
int hightest(int *q,int *d,float a[][n2]);
float d(float a[][n2]);
int i,j,q=0,d=0;
float price[n1][n2],h;
input(price);
jingqu_aver(price);
jingdian_aver(price);
printf(“nn 序号 景点 1 2 3 4 5 平均价位nn”);
for(i=0;i
{
printf(“ NO.%d ”,i+1);
for(j=0;j
{
printf(“%8.2f”,price[i][j]);
}
printf(“%8.2fnn”,a_jingqu[i]);
}
printf(“景点平均”);
for(i=0;i
{
printf(“%8.2f”,a_jingdian[i]);
}
h=hightest(&s,&c,price);
printf(“nn 最高价位为:%f 是第%d 个景区,第%d 个景点的价位nn”,h,q,d)
}
void input(float a[][n2])
{
int i,j;
for(i=0;i
{
printf(“nn 输入%d 个景区的 5 个价位nn”,i+1);
for(j=0;j
{
scanf(“%f”,&a[i][j]);
}
}
}
void jingqu_aver(float a[][n2])
{
int i,j;
float s;
for(i=0;i
{
s=0;
for(j=0;j
{
s+=a[i][j];
}
a_jingqu[i]=s/n2;
}
}
void jingdian_aver(float a[][n2])
{
int i,j;
float s;
for(i=0;i
{
s=0;
for(j=0;j
{
s+=a[j][i];
}
a_jingdian[i]=s/n1;
}
}
int hightest(int *q,int *d,float a[][n2])
{
float hightest=0;
int i,j;
for(i=0;i
{
for(j=0;j
{
if(a[i][j]>hightest)
{
hightest=a[i][j];
*q=i+1;
*d=j+1;
}
}
}
return(hightest);}
课程实习
七、指针 输入10个整数,找出其中最小的数并与第一个数对换。写三个函数:①输入10个数
②进行处理;
③输出10个数。
#include
void main()
{
void readin(int *);
int comp(int *);
void print(int *);
int a[10];
readin(a);
comp(a);
print(a);
}
void readin(int *p)
{
int i=0;
printf(“please input numbers:n”);for(;i
scanf(“%d”,p++);
}
int comp(int *f)
{
int i,j,t;
for(i=0;i
{if(*(f+j)
j=i;
}
t=*(f+j);
*(f+j)=*f;
*f=t;
}
void print(int *u)
{
int i;
printff(“pleas input i:n”);
for(i=0;i
printf(“%d ”,*u++);
printf(“n”);
}
运行结果:***83966 2 ***183966