| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1431 人关注过本帖
标题:刚学C,还不怎么会编程序,有到题目向求望各位高手到此一游
只看楼主 加入收藏
wu75833171
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-7-7
收藏
 问题点数:0 回复次数:12 
刚学C,还不怎么会编程序,有到题目向求望各位高手到此一游
题目是这样的:输入10个学生的成绩,并输出最高分,最低分,和平均分.
   其实个人认为这题目应该是基础题,但本人编程水平真的很差,还望有高手帮忙指点,谢谢.
搜索更多相关主题的帖子: 到此一游 编程序 
2008-08-14 18:39
jimmytom
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-7-31
收藏
得分:0 
给你个意见去问你们老师
2008-08-14 18:45
ronaldfree
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-8-2
收藏
得分:0 
帮你写了一个,看看对不对?

#include <stdio.h>
void main()/*main的前面不用关键字void也可以,如果前面没有void,默认返回类型为int,这个int类型的返回值在此程序里没有用处*/
{
  int i,max,min,sum,score;
  double aver;
  printf("Please enter the score of student 1:\n");
  scanf("%d",&score);/*输入第一个学生的成绩*/
  sum=max=min=score;/*赋初值*/
  for (i=1;i<10;i++){
    printf("Please enter the score of student %d:\n",i+1);
    scanf("%d",&score);/*输入另外9个学生的成绩*/
    sum+=score;/*10个学生的总成绩*/
    if (score<min) min=score;/*保证min里面存放的是到目前为止输入的成绩中最小的*/
    if (score>max) max=score;/*保证max里面存放的是到目前为止输入的成绩中最大的*/
  }
  aver=sum/10.0;/*平均成绩*/
  printf("max=%d,min=%d,aver=%lf",max,min,aver);/*输出最高分,最低分,平均分*/
}

[[it] 本帖最后由 ronaldfree 于 2008-8-15 00:12 编辑 [/it]]
2008-08-14 20:20
hundnn
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2007-8-23
收藏
得分:0 
#include <stdio.h>
#include <stdlib.h>
#define N 10
typedef struct stu
{
    char xuehao[10];
    int chengji;
}HUN;
void xianshi(HUN *);
void zuigao_zuidi(HUN *);
void pingjun(HUN *);

int main()
{
    HUN student[N];
    int i;
    printf("输入10位学生的学号与成绩:\n");
    for(i = 0;i < N;i++)
    {
        printf("第%2d位学生:学号:",i+1);
        scanf("%s",student[i].xuehao);
        printf("           成绩:");
        scanf("%d",&student[i].chengji);
    }
    xianshi(student);
    zuigao_zuidi(student);
    pingjun(student);
    system("pause");

    return 0;
}
void xianshi(HUN *student)
{
    int i;
    for(i = 0;i < N;i++)
    printf("第%2d位学生信息:学号%s,成绩%d\n",i+1,student[i].xuehao,student[i].chengji);
    printf("\n\n");
}
void zuigao_zuidi(HUN *student)
{
    int i;;
    HUN max = student[0],min = student[0];
    for(i = 0;i < N;i++)
    {
        if(min.chengji > student[i].chengji)min = student[i];        
        if(max.chengji < student[i].chengji)max = student[i];
    }
    printf("成绩最低的学生  学号:%s  成绩:%d\n",min.xuehao,min.chengji);
    printf("成绩最高的学生  学号:%s  成绩:%d\n",max.xuehao,max.chengji);
}
void pingjun(HUN *student)
{
    int i;
    double ave = 0.0;
    for(i = 0;i < N;i++)
    ave += 1.0*student[i].chengji/N;
    printf("这10位学生的平均成绩为:%lf\n\n",ave);
}

利用结构体写了一个,也当是自己练习.请提出意见,谢谢./
2008-08-14 21:03
hundnn
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2007-8-23
收藏
得分:0 
[bo][un]ronaldfree[/un] 在 2008-8-14 20:20 的发言:[/bo]

帮你写了一个,看看对不对?

#include
main()
{
  int i,max,min,aver,sum,score;
  printf("Please enter the score of student 1\n");
  scanf(“%d”,&score);
  sum=max=min=score;
  for (i=1;i



#include <stdio.h>
main()                          //这样写主函数必须返回一个值
{
  int i,max,min,aver,sum,score; //平均值要定义为双精度型,因为很有可能除不尽.和必须要有初值
  scanf(“%d”,&score);         //双引号!!!
  sum=max=min=score;
  for (i=1;i<10;i++){           
  scanf(“%d”,&score);         //还是双引号
  sum+=score;
  if (score<min) min=score;
  if (score>max) max=score;
  }
  aver=sum/10;                 //这个可是整数除!!   aver = 1.0*sum/10
  printf(“max=%d,min=%d,aver=%d”,max,min,aver);
 }//最后我把该改的都改过来还是得不到准确值.我输的是1234567890,你这个算下来是4.400000

[[it] 本帖最后由 hundnn 于 2008-8-14 21:22 编辑 [/it]]
2008-08-14 21:20
hangeng
Rank: 2
等 级:论坛游民
帖 子:424
专家分:39
注 册:2007-7-23
收藏
得分:0 
建议大家不要帮忙!

  雨水冲不进窗来,在玻璃上痛哭。但它至少奋斗过。
2008-08-14 21:34
ronaldfree
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-8-2
收藏
得分:0 
双引号是我在word里面写的,拷贝过来自动改了,我没注意。aver你是对的,没考虑到。双精度则是数据非常大的时候才要,10个学生的成绩浮点型的肯定够了。
把它修改了一下,你再看看
2008-08-14 21:43
ronaldfree
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-8-2
收藏
得分:0 
[bo][un]hangeng[/un] 在 2008-8-14 21:34 的发言:[/bo]

建议大家不要帮忙!

为什么这样建议,帮帮也没问题,助人为乐嘛
2008-08-14 21:54
ronaldfree
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2008-8-2
收藏
得分:0 
[bo][un]hundnn[/un] 在 2008-8-14 21:20 的发言:[/bo]




#include
main()                          //这样写主函数必须返回一个值
{
  int i,max,min,aver,sum,score; //平均值要定义为双精度型,因为很有可能除不尽.和必须要有初值
  scanf(“%d”,&score);  
     最后我把该改的都改过来还是得不到准确值.我输的是1234567890,你这个算下来是4.400000
  ...

修改好了,我运行了一下,没有问题,我用了同样的数据,结果为4.500000,不是4.400000,你再看看。
2008-08-14 23:35
jimmytom
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-7-31
收藏
得分:0 
本人决定从今天起不上编程论坛。

理由如下:
1. 到此来的人都是找人帮做题,大部分人不是程序员,完全没有交流的时候。
2. 大部分帖子总是问一些无聊的问题。
3. 总是问一些很傻的问题。
4. 总是问关于考试的事。
5. 看谭浩强的书,并以之为话题。

如以下连续的五贴.

大哥大姐帮做个学籍管理程序 急用 谢谢
https://bbs.bccn.net/thread-228186-1-1.html

简单的程序问题
https://bbs.bccn.net/thread-228340-1-1.html

Visual C++ 6.0如何操作?
https://bbs.bccn.net/thread-228336-1-1.html
此贴内容如下四字:
不会用啊

如何学好编程
https://bbs.bccn.net/thread-228229-1-1.html

C语言考级用什么工具啊
https://bbs.bccn.net/thread-228309-1-1.html

以上五贴我是在一个地方连续看到的。这些人绝了,跑这里来污染环境。
2008-08-14 23:47
快速回复:刚学C,还不怎么会编程序,有到题目向求望各位高手到此一游
数据加载中...
 
   



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

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