网站大量收购独家精品文档,联系QQ:2885784924

Lab8(1) 指针.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
姓名学号班级1.练习题一编写程序求Fibonacci数列的前20项。Fibonacci数列的定义见上机指导P143练习一。要求:将数列存放在一维数组中,并按每行5个数的格式输出该数列。程序代码:#include stdio.hvoid main(){inti,f[20]={1,1};for (i=2;i20;i++)f[i]=f[i-2]+f[i-1];for (i=0;i20;i++){if (i%5==0)printf(\n);printf(%12ld,f[i]);}printf(\n);}运行结果截图:思考题:(1)编一个求Fibonacci数列前N项的函数,然后在主函数中输出数列,程序如何修改?答案:#include stdio.hint n;void Fibo(int f[]){scanf(%d,n);inti;for (i=2;in;i++)f[i]=f[i-1]+f[i-2];}void main(){inti,f[100]={1,1};printf(求斐波那契数列前n项的函数,请输入N:\n);Fibo(f);for (i=0;in;i++){if (i%5==0)printf(\n);printf(%8ld,f[i]);}printf(\n);}2.练习题二用“冒泡法”将输入的10个字符按从小到大顺序排列并输出结果。程序代码:#include stdio.hvoid main(){inti,j,t;char str[10];for (i=0;i10;i++)scanf(%c,str[i]);for (j=1;j10;j++)for (i=0;i10-j;i++)if (str[i]str[i+1]){t=str[i];str[i]=str[i+1];str[i+1]=t;}for (i=0;i10;i++)printf(%c,str[i]);printf(\n);}运行结果截图:思考题及问题:编一个用“选择法”对N个字符进行排序的函数,主函数完成输入、输出数据的功能。程序如何修改?#include stdio.hvoid sort(char a[]){inti,j;char t;for (i=0;a[i]!=\0;i++){for (j=i+1;a[j]!=\0;j++) if (a[i]a[j])t=a[i],a[i]=a[j],a[j]=t;}}void main(){char a[20];gets(a);sort(a);printf(%s\n,a);}3.练习题三分别求N阶方阵的两条对角线上的元素之和。要求:将N阶方阵按行存入二维数组中。程序代码:#include stdio.hvoid main(){int a[3][3]={1,2,3,1,3,5,2,4,6},sum1,sum2,i;sum1=sum2=0;for (i=0;i3;i++){sum1+=a[i][i];sum2+=a[i][3-1-i];}printf(sum1=%d sum2=%d\n,sum1,sum2);}运行结果截图:思考题:如果将求对角线元素之和用函数实现;主函数完成输入矩阵、输出结构的功能。程序如何修改?#include stdio.h#define MAX 100;int diag1=0,diag2=0;void diagsum(int a[MAX][MAX]){inti;for (i=0;i=;i++){diag1+=a[i][i];diag2+=a[i][2-i];}}void main(){inti,j,n,a[3][3];printf(请输入矩阵大小(如6*3):\n);scanf(%d%d,m,n);for (i=0;im;i++) for (j=0;jn;j++)scanf(%d,a[i][j]);diagsum(a);printf(diag1=%d,diag2=%d\n,diag1,diag2);} 4.练习题四编写函数,实现字符串的复制操作。要求:不可以用strcpy函数。程序代码:#include stdio.h#include string.hvoid main(){void scpy(char [],char []);char s1[50],s2[50];printf(请输入一个字符串:);gets(s2);scpy(s1,s2);printf(复制后的字符串为:%s\n,s1);}void scpy(char str1[],char str2[]){inti;for (i=0;str2[i]!=\0;i++)str1[i]=str2[i];str1[i]=\0;}运行结果截图:思考题:(1)如何修改程序可以省略对scpy函数的声明?将scpy函数部分移至main函数之前

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档