| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1792 人关注过本帖
标题:求助各位大佬:删除n个数中的0元素
取消只看楼主 加入收藏
Emmaer123
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2019-9-20
结帖率:66.67%
收藏
 问题点数:0 回复次数:3 
求助各位大佬:删除n个数中的0元素
#include <stdio.h>
int main()
{
    int i,n,j,flag,count=0,MAX=0;
    char a[1000]={0};char b[1000]={0};
    scanf("%d",&n);
    for (i=0;i<n;i++)   //依次输入数组   
     {    scanf("%s",&a[i]);
          if(a[i]==0) MAX++;  //记录这串数中所有0的个数
          b[i]=a[i];
     }
   
    for(i=n-1;i>=0;i--) //倒着从这串数组开始,例如从最后一个a[i-1]开始,将它的下标改变 i-1减去它的前面所有0的个数即count,为了不覆盖掉前面 还没改下标的元素,因此赋给了b数组
    {
        if(a[i]!=0)
        {
            for(j=0;j<i-1;j++)
            if(a[i]==0)        { count++; }
        }
        b[i-count]=a[i];
        count=0;   //count重置归零,因为每个元素前的0元素个数count不同
    }
    for(i=0;i<n-MAX;i++)
    {
        printf("%d",b[i]);
    }
    return 0;   
}
   
    请教各位大神,为什么编译不出来?感谢路过的大神花时间进贴指教


[此贴子已经被作者于2019-10-15 16:47编辑过]

搜索更多相关主题的帖子: 元素 count 个数 for 删除 for 个数 元素 删除 count 
2019-10-14 22:17
Emmaer123
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2019-9-20
收藏
得分:0 
回复 2楼 自学的数学
sorry,这个错误实在太低级了哈哈,但我改了以后还是编译不了
2019-10-14 23:06
Emmaer123
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2019-9-20
收藏
得分:0 
回复 4楼 bcbbcclbbc
抱歉我看了下n应该改成i,可是改过之后还是错了
2019-10-15 16:51
Emmaer123
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2019-9-20
收藏
得分:0 
#include <stdio.h>
int main()
{
    int i,n,j,flag,count=0,MAX=0;
    char a[1000]={0};char b[1000]={0};
    scanf("%d",&n);
   
    for (i=0;i<n;i++)   //依次输入数组   
     {    scanf("%d",&a[i]);
          if(a[i]==0) MAX++;  //记录这串数中所有0的个数
          b[i]=a[i];
     }
    for(i=n-1;i>=0;i--) //倒着从这串数组开始,例如从最后一个a[i-1]开始,将它的下标改变 i-1减去它的前面所有0的个数即count,为了不覆盖掉前面 还没改下标的元素,因此赋给了b数组
    {
        if(a[i]!=0)
        {         // 7 8 0 9 3 4  0 5          7 8 9 3 4 5
                  //b[5]=a[7]    b[4]=a[5] b[3]=a[4]   b[2]=a[3]
            for(j=0;j<i-1;j++)   
            {
               if(a[j]==0)     count++;
            }
        
           b[i-count]=a[i];printf("%d",b[i]);
           count=0;j=0;   //count重置归零,因为每个元素前的0元素个数count不同
           continue;
       }
    }
    printf("\n");
    for(i=0;i<n-MAX;i++)  printf("%d",b[i]);  
}
2019-10-15 19:28
快速回复:求助各位大佬:删除n个数中的0元素
数据加载中...
 
   



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

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