| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2909 人关注过本帖
标题:本人自学两天,编了个小程序,不知道什么地方错了。
只看楼主 加入收藏
hengmeile
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-7-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:29 
本人自学两天,编了个小程序,不知道什么地方错了。
是输入一堆数,找最大值的程序
compile 可以通过,但运行时只输了一个数就停止了



#include <stdlib.h>
#include <stdio.h>

#define YES 1
#define NO 0
#define MAX 12000

int array[MAX];
int count ;
int ctr = YES;
int largest(int num_array[],int length);
void continue_function(void);
void input_function(void);

int main(void)
{
      count = 0;
      printf("This program finds the largest number you entered.");
      do
      {
         input_function();
         continue_function();
         count++;
      }while (ctr == YES);
      printf("\nThe largest number you have entered is %d",largest(array,count));

      system("PAUSE");
      return 0;
}

 void input_function(void)
 {
    printf("\nEnter your number:");
    scanf("%d",array[count]);
 }


 void continue_function(void)
 {
    printf("Would you like to continue?");
    do
    {
       printf("Enter 1 to continue or 0 to quit.");
       scanf("%d",ctr);
    }while(ctr != 1&&ctr != 0);


 }

 int largest(int num_array[],int length)
 {
   int biggest = -12000;
   int nbr = 0;
   for(;nbr < length; nbr++)
   {
       if(num_array[nbr]>biggest)
       biggest = num_array[nbr];
   }
   return biggest;
 }
搜索更多相关主题的帖子: 自学 
2010-07-16 00:21
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:2 
scanf("%d",少写了个&);


学C语言从底层开始,学编程从问题开始,一日学会C!!!
2010-07-16 09:24
peace1221
Rank: 2
等 级:论坛游民
帖 子:32
专家分:35
注 册:2010-7-9
收藏
得分:2 
#include <stdlib.h>
#include <stdio.h>

#define YES 1
#define NO 0
#define MAX 12000

int array[MAX];
int count ;
int ctr = YES;
int largest(int num_array[],int length);
void continue_function(void);
void input_function(void);

int main(void)
{
      count = 0;
      printf("This program finds the largest number you entered.");
      do
      {
         input_function();
         continue_function();
         count++;
      }while (ctr == YES);
      printf("\nThe largest number you have entered is %d",largest(array,count));

      system("PAUSE");
      return 0;
}

void input_function(void)
{
    printf("\nEnter your number:");         
    scanf("%d",array[count]);                   这里应加一个for循环语句才能连续输入count个数
}


void continue_function(void)
{
    printf("Would you like to continue?");
    do
    {
       printf("Enter 1 to continue or 0 to quit.");
       scanf("%d",ctr);
    }while(ctr != 1&&ctr != 0);


}

int largest(int num_array[],int length)
{
   int biggest = -12000;
   int nbr = 0;
   for(;nbr < length; nbr++)
   {
       if(num_array[nbr]>biggest)
       biggest = num_array[nbr];
   }
   return biggest;
}
2010-07-16 10:57
irwin520
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2010-7-13
收藏
得分:2 
楼上说得对,两个scanf函数都少了&
2010-07-16 10:59
hengmeile
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-7-16
收藏
得分:0 
谢谢了。搞定了。
2010-07-16 14:28
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:2 
就是呀,楼主太粗心了,&号都没加.....

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-07-17 16:49
a151937404
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:117
注 册:2010-6-11
收藏
得分:2 
scanf语句是把输入的值送到指定变量地址内,所以那个取地址符不能少啊,要不然输入的数据放哪呢?嘎嘎
2010-07-17 17:50
qq1
Rank: 2
等 级:论坛游民
帖 子:92
专家分:22
注 册:2010-3-26
收藏
得分:2 
高手,自学两天就有如此水准!!!
2010-07-18 22:21
楼主
Rank: 1
等 级:新手上路
帖 子:21
专家分:3
注 册:2010-6-18
收藏
得分:2 
望尘莫及呀
2010-07-19 10:21
yjm218
Rank: 2
等 级:论坛游民
帖 子:10
专家分:17
注 册:2010-7-31
收藏
得分:0 
厉害我学一学期都编不出来
2010-07-31 15:07
快速回复:本人自学两天,编了个小程序,不知道什么地方错了。
数据加载中...
 
   



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

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