| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 693 人关注过本帖
标题:新手求助,高手来帮忙啊~~~~
只看楼主 加入收藏
accbdbdada
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2008-10-4
结帖率:100%
收藏
 问题点数:0 回复次数:5 
新手求助,高手来帮忙啊~~~~
本问题是输入n个数,输出m个最小的数,我写这样,但是NUM,不能定义n,但是我有不会所以求助1下
#include<stdio.h>
#include<stdlib.h>
#define NUM n
main()
{int n;
int data[NUM]={0};
int i,minValue,m,j,temp;
printf("Enter the number");
for(i=0;i<=n;i++){
scanf("%d",&data[i]);
}
for(i=0;i<m;i++)
{
minValue=i;
for(j=i+1;j<m;j++)
{if (data[j]<data[minValue])
minValue=j;
}
if(minValue!=i){
temp=data[i];
data[i]=data[minValue];
data[minValue]=temp;}
}
printf("the answer is");
for(i=0;i<m;i++)
{printf("%5d",data[i]);
}
return 0; }


第2个问题
领导给20员工过生日,员工输入自己的生日,显示每月过生日的人数
我写的是着个,用的TC3.0,这样是输入月份0月结束,但是这样我成功不了,所以请高手帮忙修改,如何才能编译成功,谢谢了
#include<stdio.h>
#include<stdlib.h>
#define NUM 20
main()
{ int vlte[NUM]={0};
  int i,month;
  printf("enter the month of your brithday");
  do{scanf("%d",&month);
 if(month<0||month>NUM)
{printf("wrong");}
else{vote[month]=vote[month]+1;}}
while(month!=0);
printf("the answer is");
for(i=0;i<month;i++){
printf("%4d",vote[i]);
}return 0;
}
搜索更多相关主题的帖子: include number Enter 
2008-10-17 20:08
dandanmei
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-11-30
收藏
得分:0 
数组定义不能定义data[NUM]只能是定了的数
因为要给分配空间了所以必须是已经的
2008-10-17 20:14
accbdbdada
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2008-10-4
收藏
得分:0 
恩,谢谢了,那如何改呢?
2008-10-17 20:17
dandanmei
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-11-30
收藏
得分:0 
根本就不用那个宏定义啊
你就用不到那个NUM
还有那个m虽然定义了但是没有赋值  所以你那个for循环是不能走的
你还是回去好好想想再写吧
2008-10-17 20:32
给你一片天
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-6-24
收藏
得分:0 
这个应该是个C99标准中的变长数组的问题,你的编译器是不是不支持C99标准的
那样的话,不能这样定义的~
2008-10-17 21:33
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
NO.1
[bo][/bo]
程序代码:
/*******************************************************************************

        本问题是输入n个数,输出m个最小的数.

-------------------------------------------------------------------------------

        其实,就是输入数组,然后升序排序,然后输出前m个数值的程序。

*******************************************************************************/
#include<stdio.h>
#include<string.h>
#define N 1000
int m,n;
/*-------------输入------------------------------------------------------*/
void input(int *p)
{
    int i=0;
    do
    {
        puts("input n(1<n<1000):");
        scanf("%d",&n);
        if(n>N||n<1)    puts("error");
    }while(n>N||n<1);
    do
    {
        puts("input m(0<m<n):");
        scanf("%d",&m);
        if(m<0||m>n)    puts("error");
    }while(m<0||m>n);
    for(;i<n;i++)
    {
        printf("NO.%d\n",i+1);
        scanf("%d",&p[i]);
    }
}
/*-----------------------排序---------------------------------------*/
void sort(int *p)
{
    int i,j,k,tmp;
    for(i=0;i<n;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
            if(p[k]>p[j])
                k=j;
        if(k!=i)
        {
            tmp=p[i];
            p[i]=p[k];
            p[k]=tmp;
        }
    }
}
/*------------------------------输出----------------------------------*/
void print(int *p)
{
    int i=0;
    for(;i<m;i++,p++)
    {
        printf("%5d",*p);
        if(i%5==0&&i!=0)    puts("");
    }
}
/*-----------------------------主函数---------------------------------*/
int main(void)
{
    int a[N];
    input(a);
    sort(a);
    print(a);
    return 0;
    getch();
}
2008-10-17 21:59
快速回复:新手求助,高手来帮忙啊~~~~
数据加载中...
 
   



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

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