| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1277 人关注过本帖
标题:有一道程序,不知道错在哪
取消只看楼主 加入收藏
陈威
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2009-10-18
结帖率:95%
收藏
 问题点数:0 回复次数:19 
有一道程序,不知道错在哪
#include "stdio.h"
#include "conio.h"

main()
{
 int m,n,i,*p,*q;
 printf("input n:");
 scanf("%d",&n);
 printf("input %d numbers:\n",n);
 for(i=0;i<n;i++)
 scanf("%d",p++);
 printf("input m:");
 scanf("%d",&m);
 for(i=0;i<m;i++)
 *(p+n-m+i)=*(q+i);
 for(i=n-m;i>0;i--)
 *(p+i+m)=*(p+i);
 for(i=0;i<m;i++)
 *(p+i)=*(q+i);
 for(i=0;i<n;i++)
 printf("%d",*p++);
 getch();
}
要实现最后m个数放开头,前n-m个数一次向后m移位。运行结果出错,请指正
搜索更多相关主题的帖子: include numbers 
2010-01-04 19:28
陈威
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2009-10-18
收藏
得分:0 
是不是指针未分配存储空间的问题?
2010-01-04 19:33
陈威
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2009-10-18
收藏
得分:0 
能不能帮忙修改下?
2010-01-04 19:42
陈威
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2009-10-18
收藏
得分:0 
帮忙给指针分配存储空间
2010-01-04 19:48
陈威
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2009-10-18
收藏
得分:0 
#include "stdio.h"
#include "conio.h"

main()
{

 int m,n,i,*p,*q,a[10];
 printf("input n:");
 scanf("%d",&n);
 printf("input %d numbers:\n",n);
 p=a;
 for(i=0;i<n;i++)
 scanf("%d",p++);
 printf("input m:");
 scanf("%d",&m);
 for(i=0;i<m;i++)
 *(p+n-m+i)=*(q+i);
 for(i=n-m;i>0;i--)
 *(p+i+m)=*(p+i);
 for(i=0;i<m;i++)
 *(p+i)=*(q+i);
 for(i=0;i<n;i++)
 printf("%d",*p++);
 getch();
}
这样修改怎么还不行?
2010-01-04 19:53
陈威
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2009-10-18
收藏
得分:0 
#include "stdio.h"
#include "conio.h"

main()
{

 int m,n,i,*p,*q,a[10],b[10];
 printf("input n:");
 scanf("%d",&n);
 printf("input %d numbers:\n",n);
 p=a;q=b;
 for(i=0;i<n;i++)
 scanf("%d",p++);
 printf("input m:");
 scanf("%d",&m);
 for(i=0;i<m;i++)
 *(p+n-m+i)=*(q+i);
 for(i=n-m;i>0;i--)
 *(p+i+m)=*(p+i);
 for(i=0;i<m;i++)
 *(p+i)=*(q+i);
 for(i=0;i<n;i++)
 printf("%d",*p++);
 getch();
}
这样修改(通过数组给指针分配存储空间)为什么还不行?
2010-01-04 19:56
陈威
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2009-10-18
收藏
得分:0 
不大会啊
用malloc不是一个一个分配存储空间吗?
2010-01-04 19:58
陈威
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2009-10-18
收藏
得分:0 
我用数组分配不行吗?
2010-01-04 19:58
陈威
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2009-10-18
收藏
得分:0 
#include "stdio.h"
#include "conio.h"

main()
{

 int m,n,i,*p,*q;
 p=(int *)malloc(sizeof(int));
 q=(int *)malloc(sizeof(int));
 printf("input n:");
 scanf("%d",&n);
 printf("input %d numbers:\n",n);
 for(i=0;i<n;i++)
 scanf("%d",p++);
 printf("input m:");
 scanf("%d",&m);
 for(i=0;i<m;i++)
 *(p+n-m+i)=*(q+i);
 for(i=n-m;i>0;i--)
 *(p+i+m)=*(p+i);
 for(i=0;i<m;i++)
 *(p+i)=*(q+i);
 for(i=0;i<n;i++)
 printf("%d",*p++);
 getch();
}
是这样改吗?还是不行啊
2010-01-04 20:03
陈威
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2009-10-18
收藏
得分:0 
怎么用malloc 改啊?还是不会啊
2010-01-04 20:06
快速回复:有一道程序,不知道错在哪
数据加载中...
 
   



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

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