集中上机实验报告.docx
- 文档编号:14334001
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:36
- 大小:825.89KB
集中上机实验报告.docx
《集中上机实验报告.docx》由会员分享,可在线阅读,更多相关《集中上机实验报告.docx(36页珍藏版)》请在冰点文库上搜索。
集中上机实验报告
成绩:
———————
实验名称:
集中上机1——C语言程序设计
学生姓名:
学生学号:
学生专业:
学生班级:
指导教师:
实习时间:
实验名称:
C语言运行过程、简单的C程序设计
专业班级:
学号:
姓名:
第5周,星期日第9-12节实验日期:
20120325
一.实验目的:
1.了解TC软件的窗口界面,熟练掌握TC的菜单命令以及相应的键命令,并在TC环境下掌握如何编辑、编译、连接、运行一个C程序并如何保存和修改C语言的源程序;
2.通过运行一个C程序过程,逐步了解C成语的基本结构及特点;
3.掌握C语言的基本数据类型,熟悉他们的使用方法及定义方法,了解几种类型数据输出时所用的格式转换符(整型、字符型、实型),熟悉各种运算符和表达式的使用特点;
4.熟练掌握C中赋值运算的使用。
二.实验内容:
1.使用TC;
2.运行简单的C程序。
三.实验结果:
输入并运行例题中程序,熟悉调试C程序的方法与步骤。
#include
voidmain()
{
inta,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
}
intmax(intx,inty)
{
intz;
if(x>y)
z=x;
else
z=y;
return(z);
}
编写一个C程序,输入a,b,c三个数,输出其中最大者。
#include
voidmain()
{
inta,b,c;
printf("pleaseinputthreeunmbers:
\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a>b&&a>c)
printf("max=%d\n",a);
if(b>a&&b>c)
printf("max=%d\n",b);
if(c>a&&c>b)
printf("max=%d\n",c);
}
实验名称:
数据类型、运算符和表达式
专业班级:
学号:
姓名:
第5周,星期日第9-12节实验日期:
20120325
一.实验目的:
1.掌握C语言数据类型,熟悉如何定义一个整形、字符型、实型变量,以及对它们赋值的方法,了解以上雷翔数据输出时所用的格式转换符;
2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用;
3.进一步熟悉C程序的编辑、编译、连接和运行过程。
二.实验内容:
三.实验结果:
输入并调试运行一下程序。
(每一步变化写出相应结果)将第四行改为:
m++;n=++j;后的结果情况怎样?
在上述改变后再将printf语句改为:
printf(“%d,%d,%d,%d\n”,i,j,i++,j++);后的结果情况怎样?
又将printf语句改为:
printf(“%d,%d,%d,%d\n”,i,j,++i,++j)后的结果情况怎样
#include
voidmain()
{
inti,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
}
#include
voidmain()
{
inti,j,m,n;
i=8;j=10;
m=i++;n=++j;
printf("%d,%d,%d,%d\n",i,j,m,n);
}
#include
voidmain()
{
inti,j,m,n;
i=8;j=10;
m=i++;n=++j;
printf("%d,%d,%d,%d\n",i,j,i++,j++);
}
#include
voidmain()
{
inti,j,m,n;
i=8;j=10;
m=i++;n=++j;
printf("%d,%d,%d,%d\n",i,j,++i,++j);
}
将100~1000之间的所有素数按每个数之间空3列并且每行只输出5个方式输出所有素数。
#include
#include
voidmain()
{
intm,k,i,n=0;
for(m=101;m<=1000;m=m+2)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>=k+1)
{
n=n+1;
printf("%6d",m);
}
if(n%5==0)
printf("\n");
}
printf("\n");
}
有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?
其输出满足条件的每一个这样的三位数。
#include
voidmain()
{
inti,j,k,m;
for(i=1,m=0;i<=4;i++)
for(j=1;j<=4;j++)
for(k=1;k<=4;k++)
{
if(i!
=j&&i!
=k&&j!
=k)
{
printf("%d%d%d",i,j,k);
m++;
}
}
printf("\n");
printf("一共有%d个\n",m);
}
实验名称:
逻辑运算符与分支判断节后程序设计
专业班级:
学号:
姓名:
第5周,星期日第9-12节实验日期:
20120325
一.实验目的:
1.了解C语言表示逻辑量的方法(以0代表“假”以1代表“真”);
2.学会正确使用逻辑运算符和逻辑表达式;
3.熟练掌握if语句和switch语句。
二.实验内容:
三.实验结果:
给出一个不多于五位的正整数,要求
1)求出它是几位数;
2)分别输出每一位数;
3)按逆序打出各位数字。
#include
voidmain()
{
intnum,a,b,c,d,e,f,g,h,i,j,k,l,m,n;
printf("pleaseinputanumber:
\n");
scanf("%d",&num);
if(num>=1&&num<=9)
printf("这是一个一位数\n个位数是%d\n逆序数是%d\n",num,num);
if(num>=10&&num<=99)
{
a=num/10;
b=num%10;
printf("这是一个两位数\n十位数是%d\n个位数是%d\n逆序数是%d%d\n",a,b,b,a);
}
if(num>=100&&num<=999)
{
c=num/100;
d=(num%100)/10;
e=num-100*c-10*d;
printf("这是一个三位数\n百位数是%d\n十位数是%d\n个位数是%d\n逆序数是%d%d%d\n",c,d,e,e,d,c);
}
if(num>=1000&&num<=9999)
{
f=num/1000;
g=(num%1000)/100;
h=((num%1000)%100)/10;
i=num-1000*f-100*g-10*h;
printf("这是一个四位数\n千位数是%d\n百位数是%d\n十位数是%d\n个位数是%d\n逆序数是%d%d%d%d\n",f,g,h,i,i,h,g,f);
}
if(num>=10000&&num<=99999)
{
j=num/10000;
k=(num%10000)/1000;
l=((num%10000)%1000)/100;
m=(((num%10000)%1000)%100)/10;
n=num-j*10000-k*1000-l*100-m*10;
printf("这是一个五位数\n万位数是%d\n千位数是%d\n百位数是%d\n十位数是%d\n个位数是%d\n逆序数是%d%d%d%d%d\n",j,k,l,m,n,n,m,l,k,j);
}
if(num<1||num>99999)
printf("您输入的数字不合法!
\n");
}
四.问题讨论:
本次实验是第一次上机实验。
深切体会到C语言作为一种计算机语言所体现出来的语言魅力,
C语言重在动手,重在实际操作,重在上机练习。
实验名称:
循环结构程序设计
专业班级:
学号:
姓名:
第9周,星期日第9-12节实验日期:
20120422
一.实验目的:
1.了解C语言表示逻辑的方法;
2.学会正确使用逻辑运算符和逻辑表达式;
3.熟练掌握if和switch语句的使用。
二.实验内容:
三.实验结果:
C语言如何表示真与假?
系统如何判断真与假?
在表达式用“0”代表假,用“1”代表真,判断是以“0”代表假,以非零代表真。
求下面算术表达式的值:
(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7值为:
2.500000;
(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5值为:
3.500000;
所谓“同构数”值他出现在他的平方数的右端。
编程序输出2-1000之内的所有同构数。
#include
voidmain()
{
inti;
for(i=2;i<=1000;i++)
{
if(i*i%10==i||i*i%100==i||i*i%1000==i)
printf("%4d",i);
}
printf("\n");
}
“水仙花数“,是一个三位数,各位数字的立方和等于该数字本身,请输出所有水仙花数。
#include
voidmain()
{
inti,a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(a*a*a+b*b*b+c*c*c==i)
printf("%6d\n",i);
}
}
求s=a+aa+aaa+aaaa+aa…aa的值,其a是一个数字。
你个数相加有键盘控制,请输入a和个数的值并输出s的值。
#include
#include
voidmain()
{
ints,a,c,n,i,j;
printf("请输入a的值:
");
scanf("%d",&a);
printf("请输入个数:
");
scanf("%d",&n);
for(i=1,s=0;i<=n;i++)
{
for(j=0,c=0;j
c=c+a*pow(10,j);
s=s+c;
}
printf("finalansweris:
%d\n",s);
}
用递归法编程实现1!
+2!
+3!
+…+20!
的和。
#include
doublef(int);
voidmain()
{
inti;
doublesum;
for(i=1,sum=0;i<=20;i++)
sum=sum+f(i);
printf("1!
+2!
+3!
+...+20!
=%.2lf\n",sum);
}
doublef(intn)
{
doublesum;
if(n==1)
sum=1;
if(n>1)
sum=n*f(n-1);
returnsum;
}
用迭代法求根号a,要求前后两次球出的x的差小于0.00001.
#include
#include
#defineeps1e-5
voidmain()
{
doublea,x1,x2,dif;
printf("pleaseinputa:
");
scanf("%lf",&a);
x1=a;
x2=0;
dif=a;
while(dif>=eps)
{
x2=0.5*(x1+a/x1);
dif=fabs(x1-x2);
x1=x2;
}
printf("值为:
%lf\n",x2);
}
有一个数是5623265,它是一个左右对称的数,求比他大的对称数中最小的一个并输出。
#include
voidmain()
{
intx,a[10],i,j,temp;
for(x=5623266;;x++)
{
temp=x;
i=0;
do
{
a[i]=temp%10;
i++;
temp=temp/10;
}
while(temp);
for(i--,j=0;j
if(a[i]!
=a[j])
break;
if(j>=i)
{
printf("%10d",x);
break;
}
}
printf("\n");
}
四.问题讨论:
通过循环结构程序设计的学习,深刻理解到循环结构的重要意义。
我们接触的很多程序算法都要用到循环结构,无论是while循环、do……while循环还是for循环都各自有各自的优点,我们应该准确掌握各种循环的使用方法以及使用的场合,来写出更漂亮的程序。
实验名称:
数组
专业班级:
学号:
姓名:
第12周,星期日第5-8节实验日期:
20120513
一.实验目的:
1.掌握数组的定义,赋值方法和输入输出的方法;
2.掌握字符数组和字符串函数的使用;
3.掌握与数组有关的算法(例如排序的算法)。
二实验内容:
三.实验结果:
编写程序:
有两个正整数a和b,已知a*b=2048,求a、b各位何值时,a+b最小。
#include
voidmain()
{
inti,j,a,b,min=2048,sum;
for(i=1;i<=2048;i++)
{
if(2048%i==0)
{
j=2048/i;
sum=i+j;
}
if(min>sum)
{
min=sum;
a=i;
b=j;
}
}
printf("当a=%d,b=%d时,a+b的值最小\n",a,b);
}
将一个正整数分解质因数。
如90=2*3*3*5.
#include
voidmain()
{
intnum,k;
printf("请输入一个正整数:
");
scanf("%d",&num);
printf("分解结果是:
%d=",num);
for(k=2;k { while(num! =k) { if(num%k==0) { printf("%d*",k); num=num/k; } else { k=k+1; } } } printf("%d\n",num); } 已有一个已排好序的数列,今输入一个数,要求按原来排序的规律将它插入数组。 #include voidmain() { voidf(inta[],intn,intx); inta[8]={1,2,6,7,8,9,15,20}; inti,j,x; printf("原数组是: \n"); for(i=0;i<8;i++) printf("%4d",a[i]); printf("\n请输入一个整数: "); scanf("%d",&x); f(a,8,x); printf("重新排序的的数组如下: \n"); for(i=0;i<=8;i++) printf("%4d",a[i]); printf("\n"); } voidf(inta[],intn,intx) { inti,j;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 集中 上机 实验 报告