| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 621 人关注过本帖
标题:我写的 一道题
只看楼主 加入收藏
wish0
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-6-15
收藏
 问题点数:0 回复次数:8 
我写的 一道题
题目要求是从键盘输入一个数。插入到已按降序排列的数组中,要求按原来的排序规律插入!

main()
{int t,i,j,k,m,p;
int a[10]={10,4,-7,32,14,25,-18,20};
for(j=0;j<7;i++)
for(i=0;i<7-j;i++)
if(a[i]<a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("input a number:\n");
scanf("%d",&k);
for(i=0;i<8;i++)
if(a[i]>=k)m=i
for(p=m;p<9;p++)
{t=k;k=a[p];a[p]=k}
for(i=0;i<9;i++)
ptintf("%d",a[i]);
}
这是我编的,不知错误在那
2006-06-15 23:45
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-16 00:10
龙轩v亚风
Rank: 1
等 级:新手上路
威 望:1
帖 子:1073
专家分:0
注 册:2006-4-20
收藏
得分:0 
就缺两个 一个是 m=i;一个是a[p]=k;

最好是 先输入数据!

狂风扫落叶,扫把都失业!拍卖QQ:559372
2006-06-16 07:45
huangtaomvp
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-4-23
收藏
得分:0 
不仅仅是逗号问题吧,还有很多的错误哦,我按照你的意思把你的程序大致该了一下,运行没有问题!!!
main()
{int t,i,j,k,m,p;
int a[9]={10,4,-7,32,14,25,-18,20};
clrscr();
for(j=0;j<7;j++)
for(i=0;i<7-j;i++)
if(a[i]<a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("input a number:\n");
scanf("%d",&k);
for(i=0;i<8;i++)
if(a[i]<=k)
{m=i;
break;}
for(i=8;i>m;i--)
a[i]=a[i-1];
a[m]=k;
for(i=0;i<9;i++)
printf("%d",a[i]);
}


2006-06-16 11:09
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
[回复楼主]
//此处缺头文件
main()
{int t,i,j,k,m,p;
int a[10]={10,4,-7,32,14,25,-18,20};
for(j=0;j<7;i++)//i++应改为j++
for(i=0;i<7-j;i++)
if(a[i]<a[i+1])//这是从大到小排序!
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("input a number:\n");
scanf("%d",&k);
for(i=0;i<8;i++)
if(a[i]>=k)m=i//尾部缺分号。
//以上逻辑错,得到的m不是正确的插入点
for(p=m;p<9;p++)
{t=k;k=a[p];a[p]=k/*缺分号*/}
for(i=0;i<9;i++)
ptintf("%d",a[i]);//应为printf
}
涂色部分问题更大。

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-16 13:02
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
语法错误应该自己多看看,自己会改的吧.像少分号这样的事,自己编译的时候可以发现的.
自己上机实现,试着自己改正语法错误,这样才有进步的.
#include"stdio.h"
#define N 10
void sort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n;i++)
for(j=0;j<n-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
main()
{
int a[N]={10,4,-7,32,14,25,-18,20};
int i,n,j,t;
printf("input a number(int):");
scanf("%d",&n);
sort(a,8);/*冒泡排序
for(i=7;i>=0;i--)//插入同时移位
{
if(a[i]>n)
a[i+1]=a[i];
else
{
a[i+1]=n;
break;
}
}
i=0;
while(i<9)
printf("%d ",a[i++]);
}

倚天照海花无数,流水高山心自知。
2006-06-17 13:53
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
for(i=7;i>=0;i--)//插入同时移位 改为/*插入同时移位*/ 有点小问题习惯了c ++的解释了.不好意思,呵呵!!!!!

倚天照海花无数,流水高山心自知。
2006-06-17 13:57
wish0
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-6-15
收藏
得分:0 
if(a[i]>=k)m=i//尾部缺分号。
//以上逻辑错,得到的m不是正确的插入点if(a[i]>=k)m=i//尾部缺分号。
问一下4楼的,为什么m不 是正确的插入点...

2006-06-17 21:22
wish0
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-6-15
收藏
得分:0 
谢谢各位了

2006-06-17 21:38
快速回复:我写的 一道题
数据加载中...
 
   



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

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