| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 458 人关注过本帖
标题:请教问题~~~关于数组的一道题
取消只看楼主 加入收藏
sophy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2011-5-8
结帖率:75%
收藏
已结贴  问题点数:5 回复次数:1 
请教问题~~~关于数组的一道题
要求:①程序运行时先显示Please input numbers:,再从键盘上读入一组整数(只考虑int型),数
与数之间只使用空格或回车作分隔。数可正可负,最多10000个,但若读入的数为-222时,则表示输入
结束且-222不算在该组数内。
  ②对这一组数按从小到大的顺序进行排序。
  ③将排序后的这一组数输出到屏幕上,输出格式为每行6个数,数与数之间使用逗号(,)分隔,两个

逗号之间的宽度(不算逗号)为6且使用左对齐格式。注意,行尾没有逗号。
#include<stdio.h>
#include<stdlib.h>
#define PWIDTH 6
void order(int x[]);
void print(int x[]);
int n;
int main(void)
{
    int *p;
    int i=0;
    p=(int*)malloc(10000*sizeof(int));
    printf("请输入整数:");
    do{
        scanf("%d",&p[i]);
        i++;
      }while(p[i-1]!=-222);
      n=i-1;
   order(p);
 
   
system("PAUSE");
return 0;   
}

void order(int x[])//插入排序法
{
    int i,j;
    for(i=2;i<=n;i++)
       if(x[i]<x[i-1])
       {
              x[0]=x[i];j=i-1;
              do{
                  x[j+1]=x[j];
                  j--;
              }while(x[0]<x[j]);
              x[j+1]=x[0];
       }
      print(x);
}

void print(int x[])
{
    int k,count=0;
    for(k=0;k<=0;k++)
    {
           printf("%d,",x[k]);
           if(++count>=PWIDTH)
           {
               putchar('\n');
               count=0;
           }
       }
}
请问哪里有问题呢?数组和指针学的好晕的说
搜索更多相关主题的帖子: 键盘 
2011-05-26 11:37
sophy123
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2011-5-8
收藏
得分:0 
回复 3楼 laoyang103
哦哦,谢谢啦~我得把基本概念掌握好。。。
2011-05-26 12:49
快速回复:请教问题~~~关于数组的一道题
数据加载中...
 
   



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

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