文档详情

北科大c语言程序设计实验报告7.doc

发布:2018-01-21约5.65千字共21页下载文档
文本预览下载声明
姓名 徐松松 班级 计1304 说明: 本次上机内容分两次上机完成。 将本文档改名为“学号_姓名_班级_Lab7.doc”,按照本说明完成以下实验内容; 在下下次上机(15周)时通过课程中心提交本文档。 实验内容和实验要求(上机指导P143) 1.练习题一 运行结果截图: 思考题及问题 答案: 源程序文本(修改部分红色字体标注) #includestdio.h #define N 35 void main() { int i; long f[N]={1,1}; for(i=2;iN;i++) f[i]=f[i-2]+f[i-1]; for(i=0;iN;i++) { if(i%5==0) printf(\n); printf(%12ld,f[i]); } printf(\n); } N=35时,运行结果截图: 2.练习题二 运行结果截图: 思考题及问题: 答案: 源程序文本(修改部分红色字体标注):按字符顺序A-Z从小到大排列 #includestdio.h #define N 10 void main() { int i,j,t; char str[N]; for(i=0;iN;i++) scanf(%c,str[i]); for(j=0;jN;j++) for(i=j+1;iN;i++) if(str[j]str[i]) { t=str[i]; str[i]=str[j]; str[j]=t; } for(i=0;iN;i++) printf(%c,str[i]); printf(\n); } 运行结果截图: 3.练习题三 运行结果截图: 思考题及问题: 答案: 源程序文本(修改部分红色字体标注) #includestdio.h #define N 3 int sum1,sum2; void main() { void calculate(int a[][N]); int a[N][N]={1,2,3,1,3,5,2,4,6},i; sum1=sum2=0; printf(输入一个%d*%d的一个矩阵\n,N,N); for(i=0;iN;i++) for(int j=0;jN;j++) scanf(%d,a[i][j]); calculate(a); printf(sum1=%d,sum2=%d\n,sum1,sum2); } void calculate(int a[][N]) { for(int i=0;iN;i++) { sum1=sum1+a[i][i]; sum2=sum2+a[i][N-1-i]; } } 运行结果截图: 4.练习题四 运行结果截图: 思考题及问题: ①答案: #includestdio.h #includestring.h void scpy(char str1[],char str2[]) { int i; for(i=0;str2[i]!=\0;i++) str1[i]=str2[i]; str1[i]=\0; } void main() { char s1[50],s2[50]; printf(请输入一个字符串:\n); gets(s2); scpy(s1,s2); printf(复制后的字符串为:%s\n,s1); } 自测练习 1.自测练习一 源程序文本: #includestdio.h void main() { int a[11]={1,6,11,55,58,61,78,89,97,100}; int n; printf(原来的数据排列为:\n); for(int i=0;i10;i++) printf(%4d,a[i]); printf(\n请输入一个整数:\n); scanf(%d,n); for(i=0;i10;i++) { if(na[i]) break; } for(int j=10;j=i;j--) a[j]=a[j-1]; a[i]=n; printf(插入后数据排列为:\n); for(i=0;i11;i++) printf(%4d,a[i]); printf(\n); } 运行结果截图: 2.自测练习二 源程序文本: #includestdio.h #includestring.h void main() { char a[50]; pr
显示全部
相似文档