| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1232 人关注过本帖
标题:问大家个 关于 c 的问题`````
只看楼主 加入收藏
adm_qxx
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2005-4-5
收藏
得分:0 
对不起,刚才一时疏忽: if(a[i] != 0) //建议把!=0写上以增加可读性 { b[j]=a[i]; j++; } 应该为: if(a[i] != 0) //建议把!=0写上以增加可读性 { b[j]=a[i]; j++; //或者两句合并成一句:b[j++] = a[i]; }

学习是进步的基础.
2005-04-07 08:11
musicml
Rank: 1
等 级:新手上路
帖 子:273
专家分:0
注 册:2005-4-2
收藏
得分:0 
哈哈,其实这个问题可以用动态数组实现,这样可以控制数组的长度!!

//程序如下: #include <stdio.h> #include <stdlib.h>

void fuzhiarry() { int arrynum; int counterip = 0; int counterarry = 0; int * iarry; int * ip; printf("please input the arry length : \n"); scanf("%d", & arrynum); iarry = (int *)malloc(arrynum *sizeof(int)); if(!iarry) exit(1); for(int i = 0 ; i < arrynum; i++) { printf("please input the %dth result\n", i+1); scanf("%d",iarry); iarry++; } iarry -= arrynum; ip = (int * )malloc(arrynum * sizeof(int)); if(!ip) exit(1); do { if(*iarry && counterarry < arrynum ) { *ip = *iarry; ip++; iarry++; counterip++; counterarry++; } else { counterarry++; iarry++; } }while(counterarry < arrynum);

ip = ip - counterip; iarry = iarry - arrynum; for(int j = 0;j<arrynum;j++) { printf("\n"); printf("输入数组的第 %d 数为:\n",j+1); printf("%-5d",*iarry); iarry++; } printf("\n"); for(int k = 0 ;k<counterip;k++) { printf("\n"); printf("转换数组的第 %d 数为:\n", k+1); printf("%-5d",*ip); ip++; } printf("\n"); ip -= counterip; iarry -= arrynum; free(ip); free(iarry); } void main() { fuzhiarry(); }


Every thing is possible.
2005-04-08 12:33
快速回复:问大家个 关于 c 的问题`````
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025489 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved