| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 566 人关注过本帖
标题:菜鸟级新手··运行不出来结果··帮忙看下
只看楼主 加入收藏
lzy013903
Rank: 1
等 级:新手上路
帖 子:23
专家分:7
注 册:2011-5-21
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:8 
菜鸟级新手··运行不出来结果··帮忙看下
程序是说输入10个数,输出最大值,最小值和平均数,小弟运行的结果全是0.00,求帮助啊·····

#include<stdio.h>
void main()
{
    int s[10],*p;
    float max,min,average;
    int i,c;
    for(i=0,c=1;i<10;i++)
    {
        printf("Please Input the %d score : ",c++);
        scanf("%f",&s[i]);
    }
    printf("\n");
   
    p=s[10];
    max=*p;
    for(i=1;i<10;i++)
    {
        if(*(p+i)>max)
        max=*(p+i);
    }
    printf("Max = %4.2f\n",*(p+i));
   
    average=*p;   
    for(i=1;i<10;i++)
    {   
    if(*(p+i)<min)
        min=*(p+i);
    }
    printf("Min = %4.2f\n",*(p+i));
   
    average=*p;   
    for(i=1;i<10;i++)
    {
              average+=*(p+i);
    }
    average/=(i-1);
    printf("Average = %4.2f\n",*(p+i));
}
搜索更多相关主题的帖子: 平均数 最大值 
2011-05-26 13:18
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
程序代码:
#include <stdio.h>

int main(void) {
    int max, min, sum = 0, num[10], i;
    for(i = 0; i < 10; i++) {
        scanf("%d", num + i);
    }
    max = num[0];
    min = num[0];
    sum = num[0];
    for(i = 1; i < 10; i++) {
        if(num[i] > max) {
            max = num[i];
        } else if(num[i] < min) {
            min = num[i];
        }
        sum += num[i];
    }
    printf("Max : %4.2f\n", max / 1.0);
    printf("Min : %4.2f\n", min / 1.0);
    printf("Average : %4.2f\n", sum / 10.0);
    return 0;
}


[ 本帖最后由 lz1091914999 于 2011-5-26 13:30 编辑 ]

My life is brilliant
2011-05-26 13:29
学写yyzz
Rank: 2
等 级:论坛游民
帖 子:29
专家分:44
注 册:2011-5-26
收藏
得分:20 
#include"stdio.h"
void main()
{
    float s[10],*p;
    float max,min,average;
    int i,c;
    for(i=0,c=1;i<10;i++)
    {
        printf("Please Input the %d score : ",c++);
        scanf("%f",&s[i]);
    }
    printf("\n");
   
    p=s;
    max=*p;
    for(i=1;i<10;i++)
    {
        if(*(p+i)>max)
        max=*(p+i);
    }
    printf("Max = %4.2f\n",max);
    p=s;
    min=*p;   
    for(i=1;i<10;i++)
    {   
    if(*(p+i)<min)
        min=*(p+i);
    }
    printf("Min = %4.2f\n",min);
    p=s;
    average=*p;   
    for(i=1;i<10;i++)
    {
              average+=*(p+i);
    }
    average/=10;
    printf("Average = %4.2f\n",average);
} 这是我改后的,应该可以运行。PS:我也是新手
2011-05-26 13:29
ab6326795
Rank: 2
等 级:论坛游民
帖 子:91
专家分:56
注 册:2010-11-8
收藏
得分:0 
  p=s[10];
    max=*p;
能这么赋值么?别打击我,我新手
2011-05-26 13:30
学写yyzz
Rank: 2
等 级:论坛游民
帖 子:29
专家分:44
注 册:2011-5-26
收藏
得分:0 
回复 4楼 ab6326795
额,这是可以的
2011-05-26 17:21
jack222
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2008-6-16
收藏
得分:0 
给你改了一下在c-free4.0上通过
#include<stdio.h>
void main()
{
    float s[10],*p;
    float max,min,average;
    int i,c;
    for(i=0,c=1;i<10;i++)
    {
        printf("Please Input the %d score : ",c++);
        scanf("%f",&s[i]);/*s,*p是整型*/
    }
    printf("\n");
   
   
    p=&s[0];/*p是指针只能接受地址,s中第10个元素是s[9]
               按你的思路应该改为s[0]*/
    max=*p;
    for(i=1;i<10;i++)
    {
        if(*(p+i)>max)
        max=*(p+i);
    }
    printf("Max = %4.2f\n",max);/*max是最大值而非*(p+i)*/
   
     min=*p; /*average改为min*/   
    for(i=1;i<10;i++)
    {   
    if(*(p+i)<min)
        min=*(p+i);
    }
    printf("Min = %4.2f\n",min);/*min是最小值而非*(p+i)*/
   
    average=*p;   
    for(i=1;i<10;i++)
    {
              average+=*(p+i);
    }
    average/=i;/*除数应该是i*/
    printf("Average = %4.2f\n",average);/*输出的值应该是average*/
}
/*忠告最好不要比较浮点数的大小*/
2011-05-26 23:34
w2239348
Rank: 2
等 级:论坛游民
帖 子:22
专家分:11
注 册:2011-3-30
收藏
得分:0 
#include<stdio.h>
void main()
{
    float s[10],*p;
    float max,min,average;
    int i,c;
    {
        printf("Please Input the  score : ");
        for(i=0;i<10;i++)
        scanf("%f",&s[i]);
    }
    printf("\n");
   
    p=s;
    max=*p;
    for(i=1;i<10;i++)
    {
        if(*(p+i)>max)
        max=*(p+i);
    }
    printf("Max = %4.2f\n",max);
}
修改了一个最大值~~其他类型也差不多
2011-05-27 17:25
云飞aini
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2011-5-27
收藏
得分:0 
程序代码:
#include<stdio.h>
void main()
{
    float s[10],*p;//应定义float型
    float max,min,average;
    int i,c;
    for(i=0,c=1;i<10;i++)
    {
        printf("Please Input the %d score : ",c++);
        scanf("%f",&s[i]);//%f接收的是float型你之前定义的是int型所以会使内存扩充
                          //所以存的数谁知道是多少
    }
    printf("\n");

    p=s;//*p指针这个应该赋给它数组首地址应该&s[0]也是对的
    max=*p;
    for(i=1;i<10;i++)
    {
        if(*(p+i)>max)
            max=*(p+i);
    }
    printf("Max = %4.2f\n",max);//输出不应该是*(p+i)应该是max因为i在变嘛*(p+i)此时i已经为10了
                                //这个*(p+10)就等于s[10]其实没有这个的就到s[9]=_=!所以后边的都错了
    min=*p;  

    for(i=1;i<10;i++)
    {  

        if(*(p+i)<min)
            min=*(p+i);
    }
    printf("Min = %4.2f\n",min);

    average=*p;  

    for(i=1;i<10;i++)
    {
        average+=*(p+i);
    }
    average/=i;
    printf("Average = %4.2f\n",average);
    system("pause");
    return 0;
} 
2011-05-28 09:06
xuxu309
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-28
收藏
得分:0 
#include<stdio.h>
int main()
{
    int a[10];
    int i,j,k;
    printf("请输入十个学生的成绩:\n");
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    printf("\n");
    for(j=0;j<9;j++)
    for(i=0;i<9-j;i++)
    if(a[i]>a[i+1])
    {
        k=a[i];
        a[i]=a[i+1];
        a[i+1]=k;
    }
    printf("从小到大排序的学生成绩为:\n");
    for(i=0;i<10;i++)
    printf("%d\t",a[i]);
    printf("\n");
}


上面是用冒泡法做的
2011-05-28 10:26
快速回复:菜鸟级新手··运行不出来结果··帮忙看下
数据加载中...
 
   



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

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