C语言指针编程题.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言指针编程题 第一题: 有一个数组int A[nSize],要求写一个函数: int * myfunc (int *p, int nSize); 将A中的0都移至数组末尾,将非0的移至开始(保持原来的顺序不变)。例如: A原来是:1, 0, 3, 4, 0, -3, 5 经过myfunc处理后为:1, 3, 4, -3, 5, 0, 0 #include stdio.h void main() { int *myfunc(int *,int); int a[7]={1,0,3,4,0,-3,5},i,*q; q=myfunc(a,7); for(i=0;i7;i++) printf(%d ,q[i]); } int *myfunc(int *p,int nsize) {int b[7]={0,0,0,0,0,0,0},j=0,i; for(i=0;insize;i++) if (p[i]) {b[j]=p[i];j++;} return b; } printf(%d%d%d%d%d%d%,q[0],q[1],q[2],q[3],q[4],q[5],q[6]); static int b[7]={0,0,0,0,0,0,0}; #include stdio.h void main() { void myfunc(int *,int); int a[7]={1,0,3,4,0,-3,5},i; myfunc(a,7); for(i=0;i7;i++) printf(%d ,a[i]); } void myfunc(int *p,int nsize) {int b[7]={0,0,0,0,0,0,0},j=0,i; for(i=0;insize;i++) if (p[i]) {b[j]=p[i];j++;} for(i=0;insize;i++) p[i]=b[i]; } #include stdio.h void main() { void myfunc(int *,int); int a[7]={1,0,3,4,0,-3,5},i; myfunc(a,7); for(i=0;i7;i++) printf(%d ,a[i]); } void myfunc(int *p,int nsize) {int *q,*r; q=p; while (qp+6) if ((*q==0)(*(q+1)!=0)) {r=q; while (rp+6) {*r=*(r+1);r++;} *r=0; } else q++; } 第二题: 编写函数void fun (int x, int * pp, int *n),它的功能是:求出x的偶数因子,并按从小到大的顺序放在pp所指的数组中,这些因子的个数通过形参n返回(假设pp指向足够大的空间)。如,若x中的值为24,则有6个数符合要求,它们是2,4,6,8,12,24。 #includestdio.h void fun(int x,int pp[ ],int *n) { int i,j=0; for(i=2;i=x;i=i+2) if(x%i==0) pp[j++]=i; *n=j; } void main() { int x,aa[1000],n,i; printf(input number: ); scanf(%d,x); fun(x,aa,n); for(i=0;in;i++) printf(%d ,aa[i]); printf(\n); } 第四题:输出奇阶魔方阵 对奇阶魔方阵,可用Dole Rob算法生成,其过程为: 从1开始,以此插入各自然数,直到N2为止。 选择插入位置原则为: ⑴将1放在第一行中间一列。 ⑵从2开始直到n×n止各数依次按下列规则存放:每一个数存放的行比前一个数的行数减1,列数加1。 ⑶如果上一个数的行数为1,则下一个数的行数为n,列数加1。如果上一个数的列数为n时,下一个数的列数为1,行数减1。 ⑷如果按上面的规则确定的位置上已有数,或上一个数是第一行第n列时,则把下一个数放在上一个数的下面。 1 1 2 1 3 2 1 3 4 2 1 3 5 4 2 1 6 3 5 4 2 1 6 3 5 7 4 2 8 1 6 3 5 7 4 2 8 1 6 3 5 7 4 9 2 分析: 设定x为行数,y为列数,则 x,y 总共分以下几种情

文档评论(0)

ffpg + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档