2011C程序实验报告wo带答案(4)
①main()
②{char s1[10],s2[10]; ③ gets(s1);get2(s2);
④ if(s1=s2) printf(“equal”); ————> if( (s1,s2)==0) ⑤ else printf(“unequal”); ⑥ }
运行结果:输入the回车the输出equal 结果分析:strcmp字符串比较函数
4.程序设计
(1)定义一个数组长度的整型数组,例:int a[10]。
1)使用循环分别为数组元素赋初值。 2)实现数组元素初始值的输入。 3)分别对数组元素静态初始化。 4)实现数组元素值的输出。
1)int a[10];
for(i=0;i<=9;i++)
scanf(“%d”,&a[i]);
3)int a[10]={1,2,3,4,5,6,7,8,9,10}; 4)for(i=0;i<=9,i++)
printf(“%d”,a[i]);
(2)求出10个数的平均数和最大数。
#include<stdio.h> main() {
14
int a[10],i,s=0,m; float b;
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]); printf("%d ",a[i]); s=s+a[i]; } b=s/10.0; m=a[0];
for(i=1;i<=9;i++)
{
if(m<a[i])
m=a[i];
}
printf("%d,%f",b,m); }
(3)从键盘中输入十个数,按照由小到大的顺序排序,并输出结果。
#include<stdio.h> main() {
int a[10],i,,j,n,t; for(i=0;i<=9;i++) scanf("%d",&a[i]); for(i=0;i<9;i++) for(j=i+1;j<=9;j++) if(a[i]>a[j]) {
t=a[i]; a[i]=a[j]; a[j]=t; }
for(i=0;i<=9;i++) printf("%d",a[i]); }
(4)编程将二维数组a的行和列元素互换,存到二维数组b中。
#include<stdio.h> main() {
int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],i,j;
printf(“array a:\n”); for(i=0;i<=1;i++) {
for(j=0;j<=2;j++) {
printf(“%d”,a[i][j]); b[j][i]=a[i][j]; }
printf(“\n”); }
printf(“array b:\n”); for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++) printf(“%d”,b[i][j]); printf(“\n”);
} }
(5)编程打印以下的杨辉三角形(要求打印出10行) 1 1 1 1 2 1 1 3 3 1
1 4 6 4 1 1 5 10 10 5 1
#include<stdio.h> main() {
int i,j;
int a[10][10]; for(i=0;i<10;i++) {
a[i][0]=1; a[i][i]=1; }
for(i=2;i<10;i++) for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<10;i++) {
for(j=0;j<=i;j++) printf("%5d",a[i][j]);
printf("\n"); } }
(6)编写程序,求一个3*3距阵的两条对脚线元素之和。 #include<stdio.h> main()
{ int a[3][3]={ 1,2,3, 4,5,6, 7,8,9 }; int i,j,s=0; for(i=0;i<=2;i++) for(j=0;j<=2;j++) if(i==j||i+j==2) s=s+a[i][j]; printf("%d",s); }
5.选做题
已有一个已排好序的数组,今输入一个数,如何按原来排序的规律将它插入数组中。
15
实验六 函数的定义与应用
一、实验目的
1. 掌握C语言函数定义及调用的规则。 2. 了解递归函数的定义方法。
3. 掌握数组作为函数参数的定义方法 4. 熟练灵活运用函数解决实际问题 二、实验要求
1. 分析整理运行结果,完成实验报告,要求报告书写字迹清晰,格式规范。 2. 实验报告中应包含运行结果及结果分析。 3. 最后给出实验总结及体会 三、实验内容与步骤
1、读下面程序,写出运行结果,并对结果进行分析。
float y; (1)void f(int x,int y)
y=fac(n); {
printf(“%d!=%f\n”,n,y); x=x+1;
} y=y+1;
运行结果:4!=24.000000 }
main() 结果分析:递归求阶乘 { int a=1,b=2; (4)int func(int a,int b) f(a,b); { printf(“%d,%d\n”,a,b); return(a+b); } } 运行结果:1,2 main() 结果分析:函数的值传递是单向的。 { int x=2,y=5,z=8,r;
r=func(func(x,y),z); (2)void fun(int a)
printf(“%d\n”,r); {
} a=a+3;
运行结果:15 printf(“%d,”,a);
} 结果分析:函数本身也可是作为参数 main() { (5)fun(int a,int b,int c) int a=3; { fun(a); c=a*b; printf(“%d\n”,a); } } main( ) 运行结果:6,3 { 结果分析:函数的值传递是单向的值传递 int c; fun(2,3,c);
printf(“%d\n”,c); (3)float fac(int n)
} {
运行结果:887 float f;
if(n<0) 结果分析:函数的值传递是单向的值传递
printf(“error!”); 所以C并没有赋上真正的值
else
if(n==0||n==1) 2.程序填空 f=1;
(1)从键盘输入任意一个数,用函数计算
else
它的阶乘 f=fac(n-1)*n;
int f(int a) return(f);
{ }
int i,t=1; main()
for(i=1;i<=a;i++) {
t=t*i; int n=4;
16
; }
main() {
int x;
scanf(“%d”,&x); printf(“%d”,f(x)); }
运行结果:输入4输出24 结果分析:return返回函数值
3.程序改错
上机调试下面的程序,记录系统给出的出错信息,改正后写在对应错误代码行后面,并指出出错原因。 (1)用函数求两实数之积 ① float up(float,float); ② main() ③{float a,b;
④scanf(“%f,%f”,&a,&b);
⑤printf(“%f”,up(float a,float b)); } ————> printf(“%f”,up( a, b)); } ⑥float up(float x,float y) ⑦ {return(x*y);}
运行结果:输入1,2输出2.000000 结果分析:函数调用时实际参数前不加类型 (2)函数求两整数的最大值
①max(int a,int b);
————> max(int a,int b) ②{return(a>b?a:b);} ③main() ④{int x,y;
⑤scanf(“%d%d”,&x,&y);
⑥printf(“max=%d\n”,max(x,y));} 运行结果:输入12,输出max=2 结果分析:定义函数时函数首部无分号 (3)用函数求两实数之和
① #include<stdio.h> ② main()
③ {int add(float,float);
————>{float add(float,float); ④ float a=10.0,b=20.0,c; ⑤ c=add(a,b);
⑥ printf(“c=%f\n”,c);} ⑦ float add(float i,float j) ⑧ {float k; ⑨ k=i+j; ⑩ return(k);
运行结果:c=30.000000 结果分析:函数值类型要对应 4.程序设计
17
(1)编写自定义函数用以求三个整数中最大的数,a、b、c作为参数传递给函数,最大数在主函数中输出。 程序代码:
int max(int a,int b,int c) { int d=a; if(d<b) d=b; if(d<c) d=c; return(d); }
main() {int a,b,c;
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




