| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2904 人关注过本帖
标题:关于指针数组的c语言程序题,请大家帮帮忙看看哪里不对,谢谢!
取消只看楼主 加入收藏
FATALIZM
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-6-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:18 
关于指针数组的c语言程序题,请大家帮帮忙看看哪里不对,谢谢!
输入数组判断偶数的个数

#include<stdio.h>
main()
{int a[20],b=0,*p=a,i,c;
printf("请输入数字个数:");
scanf("%d",&c);
printf("请输入%d个数字:",c);
for(i=0;i<c;i++)
scanf("%d",p+i);
for(p=a;p<&a[9];p++)
{if(*p%2==0)
b++;
}

printf("偶数个数是%d",b)    ;
fflush(stdin);
getchar();

   
   
}
搜索更多相关主题的帖子: c语言程序 
2016-07-06 21:39
FATALIZM
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-6-28
收藏
得分:0 
回复 2楼 linlulu001
恩, 运行成功了,谢谢!!有点疑问,为啥开始那个不行,我看书上一个一个输出字符串的时候就可以这么写,那为啥一个字符一个字符比较判断的时候就不可以呢?
2016-07-06 21:59
FATALIZM
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-6-28
收藏
得分:0 
回复 4楼 linlulu001
对对对,我直接搬过来了没有改,忘记了,太粗心了,嘿嘿麻烦你了
2016-07-06 22:17
FATALIZM
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-6-28
收藏
得分:0 
#include <stdio.h>

insert(int*p,int d)
{
int a[6]={1,2,4,6,12,14};
int i;
int *p,d;
p=&a;
for(*p==a;p<=&a[6];p++)
{if(d>=*p)
for(i=0;i<7;i++)
 {
 *p+2=*P+1;
}
*p+1=d;
}
}
main()
{
int *p;
int d;
printf("请输入一个数");
scanf("%d",&d);
insert(*p,d);
printf("%d",A);
}

在既定的数组中按从小到大的顺序插入一个数字,要插入的数字是自己输入的,编写该函数并且调用,怎么做啊?我编的无法运行,这里不太会,大家帮忙看看吧,谢谢了

[此贴子已经被作者于2016-7-7 08:44编辑过]

2016-07-07 08:41
FATALIZM
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-6-28
收藏
得分:0 
我自己改了改,但是还是不对,大家帮忙看看吧,拜托拜托了
#include <stdio.h>

void insert(int *p,int d)
{
int a[6]={1,2,4,6,12,14};
int i,j;
*p=a[6];
for(i=0;i<6;i++,p++)
{
     if (*p[i]<=d)
         {
            for(j=6;j>i+1;j--)
            {
             *p[j]=*p[j-1];
            }
         }
     P[i+1]=d;
}
printf("%d",a[6]);
}
main()
{
int *p;
int d;
printf("请输入一个数");
scanf("%d",&d);
insert(*p,d);
printf("%d",a);

}
2016-07-07 10:26
FATALIZM
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-6-28
收藏
得分:0 
回复 9楼 wanglianyi1
结果不太对,从1开始往后都变成了输入的那个数,但是还是谢谢能帮忙,这个题目是将一个数字插入到已经知道的从小到大排好顺序的数组中,并且插进去还是从小到大排列的
2016-07-07 12:03
FATALIZM
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-6-28
收藏
得分:0 
#include <stdio.h>

insert(int *p,int d)//[Note] initializing argument 1 of 'int insert(int*, int)'
{
int i,j;
for(i=0;i<6;i++,p++)
{
     if (p[i]<=d)
         {
            for(j=6;j>i+1;j--)
            {
             p[j]=p[i-1];
            }
         }
     p[i]=d;
}

}
main()
{
int *p,a[6]={1,2,4,8,12,14};
int d;
p=a;
printf("请输入一个数");
scanf("%d",&d);
insert( *p, d);//[Error] invalid conversion from 'int' to 'int*' [-fpermissive]
printf("%d",a[6]);

}



我又改了改,还是不对,总是显示我注释的那个错误,大家帮忙再看看吧
2016-07-07 12:38
FATALIZM
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-6-28
收藏
得分:0 
回复 11楼 wanglianyi1
好,那我再改改,我也不大知道越界是什么,刚开始学各种不明白,谢谢啊
2016-07-07 12:39
FATALIZM
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-6-28
收藏
得分:0 
回复 14楼 word123
输出结果是0,不知道为啥,我改了几次都变成零了
2016-07-07 13:17
FATALIZM
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2016-6-28
收藏
得分:0 


#include<stdio.h>
void insert(int *p,int d)
{
    int i =0,j;
    while(p[i]<d)
    {
        i++;
    }
    for(j=6;j>i;j--)
    {
        p[j]=p[j-1];
    }
    p[i] = d;
}
main()
{
    int p[10]={1,3,4,8,15,17};
    int d,i;
    printf("请输入要插入的整数:");
    scanf("%d",&d);
        printf("原序列为:");
    for (i=0;i<6;i++)
    {
        printf("%d",p[i]);
    }
    printf("\n");
printf("新序列为:");
insert(p,d);
for(i=0;i<7;i++)
{
    printf("%d",p[i]);
}
printf("\n");
fflush(stdin);
getchar();
}
又改了一版,还是不行,原题如下:
已知一有序序列1,3,4,8,15,17,要求从键盘输入一个整数,将此整数插入到此有序序列中。要求输出原始数组和插入之后的数组。要求编制函数insert(int *p,int d)实现此功能,在主函数调用此函数。
提示:例如输入整数位7,首先要找到7在整个序列中的位置,然后将7插入到当前位置。
2016-07-07 13:21
快速回复:关于指针数组的c语言程序题,请大家帮帮忙看看哪里不对,谢谢!
数据加载中...
 
   



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

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