| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 634 人关注过本帖
标题:球编程题三个 谢谢!!!
只看楼主 加入收藏
水员
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-3-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
球编程题三个 谢谢!!!
谢谢

[ 本帖最后由 水员 于 2010-3-23 15:24 编辑 ]
2010-03-23 10:57
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:6 
这种程序 自己看书写吧 都帮你写出来 有啥意思哦!
2010-03-23 10:59
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:6 
呵呵,这里都快成了帮人做作业的地方了。。。囧。。。。
2010-03-23 11:20
水员
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-3-22
收藏
得分:0 
回复 3楼 ldg628
要求是用c语言 来写 我不会啊 只会用c++编
2010-03-23 11:22
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
算法在就行了呀,况且C++与C的语法虽然有一些不同,但大都是差不多的,用相同的部份写这几个程序足够了

程序要自己多写写,对提高很有帮助的。。。
2010-03-23 11:54
mikelr
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:161
注 册:2010-3-17
收藏
得分:6 
第一题:
#include <stdio.h>

#define LENGTH 5

int main(void)
{
    float stu_score[LENGTH],score;
    float avg_score,sum_score = 0.0f;
    int grade_b = 0,grade_d = 0;
    int i;

    i = 0;
    /* 输入20个学生的成绩 */
    do
    {
        scanf("%f",&score);
        if(score > 100)
        {
            printf("成绩不能超过100\n");
            continue;
        }
        else if(score < 0) break; /* 成绩为负数,结束输入*/

        stu_score[i] = score;
        sum_score += stu_score[i]; /* 所有学生总成绩*/
        if(stu_score[i] > 80) grade_b++;/* 成绩 > 80 的学生总人数*/
        else if(stu_score[i] < 60) grade_d++;/* 成绩 < 60 的学生总人数*/
    }while( i++ < LENGTH);

    avg_score = sum_score / i; /* 平均成绩 */

    printf("平均成绩=%.2f,成绩大于80分的人数=%d,不及格人数=%d\n",avg_score,grade_b,grade_d);

    return 0;
}

第二题:
#include <stdio.h>

#define LENGTH 10

int main(void)
{
    int i;
    float score,max_score,min_score,sum_score,avg_score;

    i = 0;
    sum_score = 0.0f;
    do
    {
        scanf("%f",&score);
        if(score > 10 || score < 0)
        {
            printf("分数不超大于10,小于0\n");
            continue;
        }
        if(i == 0)
        {
            max_score = min_score = score;
        }
        sum_score += score;
        if(score >= max_score)  max_score = score;
        else if(score <= min_score) min_score = score;

    }while(++i < LENGTH);

    avg_score = (sum_score - max_score - min_score) / (LENGTH - 2);
    printf("%.2f,%.2f\n",max_score,min_score);
    printf("平均成绩为:%.2f\n",avg_score);

    return 0;
}
第三题:
#include <stdio.h>
#include <math.h>

double rectangle_area(double length,double width );
double rectangle_perimeter(double length,double width);
double rectangle_diagonal(double length,double width);

int main(void)
{
    double length,width,area,perimeter,diagonal;

    scanf("%lf%lf",&length,&width);

    area = rectangle_area(length,width);
    perimeter = rectangle_perimeter(length,width);
    diagonal = rectangle_diagonal(length,width);

    printf("area=%lf,perimeter=%lf,diagonal=%lf",area,perimeter,diagonal);

    return 0;
}
/* 返回长方形面积 */
double rectangle_area(double length,double width )
{
    return length * width;
}
/* 返回长方形周长 */
double rectangle_perimeter(double length,double width)
{
    return (length + width) * 2;
}
/* 返回长方形对角线长 */
double rectangle_diagonal(double length,double width)
{
    return sqrt(pow(length,2) + pow(width,2));
}
2010-03-23 13:55
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
1.其实光要个结果的话,不用realloc也行,不用存储数据来处理,边输入边计算
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    float *a = NULL, data;
    int cnt = 0;
    int bad = 0, good = 0;
    while(1)
    {
        scanf("%f", &data);
        if (data < 0)
        {
            break;
        }else if (data > 100)
        {
            printf("data < 100, input again\n");
            continue;
        }
        a = (float *)realloc(a, sizeof(float)*(++cnt));
        a[cnt-1] = data;
        if (a[cnt-1] < 60)
        {
            bad ++;
        }else if (a[cnt-1] > 80)
        {
            good ++;
        }
    }
    printf("< 60 Count : %d\n", bad);
    printf("> 80 Count : %d\n", good);
    if (a)
        free(a);                                                                                                  
}
2. 同上
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    int n, i;
    float *a, max, min, avg = 0;
    scanf("%d", &n);
    if (n < 3)return;
    a = (float *) malloc(sizeof(float)*n);
    for(i = 0; i < n; i ++)
    {
        scanf("%f", &a[i]);
        if (a[i] < 0 || a[i] > 10)
        {
            printf("%d : 0 < data < 10\n", i--);
            continue;
        }
        if (!i)
        {
            max = min = a[0];
        }else
        {
            if (a[i] > max)
            {
                max = a[i];
            }
            if (a[i] < min)
            {
                min = a[i];
            }
        }
        avg += a[i];                                                                                             
    }
    avg -= max + min;
    avg /= n-2;
    printf("avg = %.2f\n", avg);
    free(a);
}
3.
#include <stdio.h>
#include <math.h>
float Area(float a, float b)
{
  return a*b;
}
float Circumference(float a, float b)
{
    return (a+b)*2;
}
float Diagonal(float a, float b)
{
    return sqrt(a*a+b*b);
}
int main(void)
{
    float a, b;
    float area, circ, diag;
    scanf("%f%f", &a, &b);
    if (a < 0 || b < 0)
    {
        printf("data > 0  !!");
        return 1;
    }
    area = Area(a, b);
    circ = Circumference(a, b);
    diag = Diagonal(a, b);
    printf("area = %.2f\ncirc = %.2f\ndiag = %.2f\n", area, circ, diag);
}
看看与C++有什么不同。。。汗。。。
         
2010-03-23 14:03
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:0 
哈哈! 。。。这样会害人家的 不能惯着啊!
2010-03-23 14:41
快速回复:球编程题三个 谢谢!!!
数据加载中...
 
   



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

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