输入n,m且 n,m不同时为0 while(scanf 字符串("%d%d",n,m)&&!(n==0&&m==0))这样写可以吗? 还是要 怎样写啊?

您还未登陆,请登录后操作!
给定有序数组(从小到大),再给你一个数,要求插入该数到数组中并保持顺序
多组测试,每组第一行输入一个整数n,然后是n个有序的整数
第二行输入1个整数m和1个整数K
将整数m插入到原数组中保持顺序是升序,然后输出2行
第一行是插入以后的数组
第二行是插入以后的数组中下标值是K的数
n m k不超过20
Sample Input
3 1 2 5
3 1
Sample Output
我下面这个代码哪里错了??求帮助啊!!!
#include&stdio.h&
int main()
{
while((scanf(&%d&,&n))!=EOF){
int index,K,i=0,j=0,digit=0;
int a[n+1],b[2*n+2];
for(i=0;i&n;i++)
scanf(&%d&,&a[i]);
scanf(&%d%d&,&m,&K);
for(i=0;i&n;i++){
if(a[i]&m && digit==0){
b[j]=a[i];
b[j]=a[i];
for(j=0;j&j++)
printf(&%d &,b[j]);
printf(&\n&);
for(j=0;j&j++)
printf(&%d\n&,b[j]);
return 0;
}
int a[n+1],b[2*n+2];
不能用变量定义数组大小,如果要求数组大小可变,应该动态分配内存
如改为:int a[20],b[50];
分配,把int a[n+1],b[2*n+2]; 改为int *a=new int[n+1],int *b=new int[2*n+2];
如果在c++中可以用很多种办法,如向量,链表。
不想那么复杂那就给数组固定长度以满足编译时的固定数组的分配。
您的举报已经提交成功,我们将尽快处理,谢谢!
大家还关注 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
下载积分:50
内容提示:C答案
文档格式:DOC|
浏览次数:35|
上传日期: 12:39:58|
文档星级:
该用户还上传了这些文档
道客巴巴认证
机构认证专区
加  展示
享受成长特权
官方公共微信c语言实验题目!10 c语言实验题目!10 c语言实验题目!10 c语言实验题目!10
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
c语言实验题目!10
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口JAVASCRIPT:

我要回帖

更多关于 scanf 字符串 的文章

 

随机推荐