| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 514 人关注过本帖
标题:求高手设计个程序
只看楼主 加入收藏
一路晨光
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-5-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
求高手设计个程序
输入若干个数,直到输入0结束。要求:1 统计正数和负数的个数。2 对这些数重新排列,正数在前,负数在后。
搜索更多相关主题的帖子: 统计 
2011-05-10 09:37
ppfly
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:297
专家分:1956
注 册:2009-5-17
收藏
得分:10 
程序代码:
#include<stdio.h>
int main()
{
    int a[50],b[50];
    int i,tmp,pod=0,ned=0;
    while((scanf("%d",&tmp),tmp)!=0)
    {
        if(tmp>0) a[pod++]=tmp;
        else if(tmp<0) b[ned++]=tmp;
    }
    printf("正数 %d 个,负数 %d 个\n",pod,ned);
    for(i=0;i<pod;i++) printf("%d ",a[i]);
    for(i=0;i<ned;i++) printf("%d ",b[i]);
    printf("\n");
    return 0;
}

********多贴代码,少说空话*******
2011-05-10 10:03
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:10 
程序代码:
#include <stdio.h>

int main (void) {

        int a=0,b=0,array[100],i=0,j,n,m;

        while(1) {
                scanf("%i",&n);
                if(n==0) break;
                else if(n<0) a++;
                else b++;
                array[i]=n;
                i++;
        }

        for(j=0;j<i-1;j++) {
                for(n=j+1;n<i;n++) {
                        if(array[j]<array[n]) {
                                m=array[j];
                                array[j]=array[n];
                                array[n]=m;
                        }
                }
        }

        printf("Numbers of integer:%i\nNumbers of negative:%i \n",b,a);

        printf("After sorted:\n");

        for(j=0;j<i;j++)
                printf("%i ",array[j]);

        printf("\n");

        return 0;

}

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-10 10:21
w123012306
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:蜘蛛侠
威 望:4
帖 子:307
专家分:1180
注 册:2010-4-22
收藏
得分:0 
while((scanf("%d",&tmp),tmp)!=0这方法行吗! 我以前用过 没用好!

楼上,楼下的一定要幸福开心哦!
2011-05-10 10:56
一路晨光
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-5-10
收藏
得分:0 
输入的是若干个数,数组定义50个或100个太少了吧
2011-05-10 12:26
wangnengchao
Rank: 2
等 级:论坛游民
帖 子:90
专家分:55
注 册:2011-5-2
收藏
得分:0 
路过游荡。。。。
2011-05-10 12:37
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用一路晨光在2011-5-10 12:26:44的发言:

输入的是若干个数,数组定义50个或100个太少了吧

你先输入50个若干数,试一试。或者输入100个若干数。不过这需要耐心

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-10 12:45
ppfly
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:297
专家分:1956
注 册:2009-5-17
收藏
得分:0 
以下是引用一路晨光在2011-5-10 12:26:44的发言:

输入的是若干个数,数组定义50个或100个太少了吧
那你就动态分配吧,malloc

********多贴代码,少说空话*******
2011-05-10 12:45
一路晨光
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-5-10
收藏
得分:0 
搞定,我是初学者,动态分配还不知道,就用数组吧,谢谢高手
2011-05-10 13:10
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
程序代码:
#include <iostream>
using namespace std;

class Node
{
public:
    Node(Node *next=NULL, int data=0);
public:
    int data;
    Node *next;
};

Node::Node(Node *next, int data)
{
    this->next = next;
    this->data = data;
}

class List
{
public:
    List();
    bool add_node(int data);
    void print_list();

private:
    Node *head;
};

List::List()
{
    head = new Node();
    head->next = NULL;
}

bool List::add_node(int data)
{
    Node *p = head->next;
    Node *prev = head;

    while (NULL != p)
    {
        if (p->data <= data)
        {
            prev->next = new Node(prev->next, data);
            return true;
        }
        prev = prev->next;
        p = p->next;
    }
   
    prev->next = new Node(prev->next, data);

    return true;
}

void List::print_list()
{
    Node *p = head->next;

    while (NULL != p)
    {
        cout << p->data << ' ';
        p = p->next;
    }
    cout << endl;
}

int main()
{
    List L;
    size_t mm;
   
    do
    {
        cin >> mm;
    }while (0 != mm && L.add_node(mm));

    cout << "\t打印数据" << endl;
    L.print_list();

    return EXIT_SUCCESS;
}
2011-05-10 13:55
快速回复:求高手设计个程序
数据加载中...
 
   



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

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