| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 898 人关注过本帖
标题:求大佬们帮帮忙
只看楼主 加入收藏
nglstx
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-11-4
收藏
 问题点数:0 回复次数:4 
求大佬们帮帮忙
1、 输入某班学生某门课程成绩,具体人数键盘输入(不超过30人),统计不及格人数。
2、给第二题中的学生进行排名,用函数来完成!
#include<stdio.h>
main()
{   
 int n,a[30],i,count=0;   
 printf("请输入学生人数:");   
 scanf("%d",&n);   
 printf("请输入各学生成绩:\n");   
  for(i=0;i<n;i++)   
    {        
     scanf("%d",&a[i]);
    }        
for(i=0;i<n;i++)   
 {        
    if(a[i]<=59)
    count++;   
 }   
  printf("不及格人数为:%d\n",count);
}
这是我的第一题怎么做第二题??求大佬指点,刚学有点懵,蟹蟹。
搜索更多相关主题的帖子: 输入 学生 count printf scanf 
2018-11-19 22:32
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
按成绩排序
2018-11-19 22:45
nglstx
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-11-4
收藏
得分:0 
回复 2楼 吹水佬

2018-11-19 22:51
nglstx
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-11-4
收藏
得分:0 
回复 2楼 吹水佬
#include<stdio.h>
struct student
{
 char name[20];
 int score;
} ;
int n;
void shuchubujigerenshu(struct student stu1[],int n)
{   
 int i,count=0;  
 printf("请输入学生人数m:");
 scanf("%s%d",&n);
 printf("姓名    成绩\n");      
    for(i=0;i<n;i++)   
    {
    scanf("%s%d",stu1[i].name,&stu1[i].score);         
    }        
for(i=0;i<n;i++)   
 {        
    if(stu1[i].score<=59)
    count++;   
 }   
  printf("不及格人数为:%d\n",count);
}
void paixu(struct student stu1[],int n)
{
    int i,j;
    struct  student  tempstu;
    int sum[n];
    for(i=0;i<n;i++)
       sum[i]=stu1[i].score;
      puts("排序前,学生信息为;\n");
      puts("姓名    成绩\n");
      printf("%s\t\t%d\n",stu1[i].name,stu1[i].score);
   
       puts("按总成绩已降序排列;\n");
      
      for(i=0;i<n-1;i++)
        for(j=n-1;j>i;j--)
         if(sum[j-1]<sum[j])
         {
             tempstu=stu1[j-1];
             stu1[j-1]=stu1[j];
             stu1[j]=tempstu;
         }
      puts("排序后,学生信息为;\n");
      puts("姓名    成绩\n");
       for(i=0;i<n;i++)
         printf("%d\n",stu1[i].name,stu1[i].score);
}
int main()
{
      char choose,ch,ch1;
  
      int  i,j,find=0;
      char name1[20];
      struct student stu1[n];
      do
    {
      printf("|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|\n");
      printf("|                 学生成绩管理系统,请选择数字进行相应的操作                    |\n");
      printf("|    1:输入学生成绩统计不及格人数;                                             |\n");
      printf("|    2:排序学生的成绩;                                                          |\n");
      printf("|    0:退出该系统                                                               |\n");
      printf("|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|\n");
    printf("请在0-2之间选择\n");
      fflush(stdin);
      choose=getchar();

      switch(choose)
         {
         case '1':printf("1:输入学生成绩统计不及格人数;\n");
                  shuchubujigerenshu(stu1,n);
                break;

         case '2':printf("2:排序学生的成绩;\n");
                  paixu(stu1,n);
                break;
         case '0':printf("0:退出该系统\n");
                  printf("请按任意键退出系统\n");
                 break;
         default:printf("请输入0-2之间的数字!!");
         }  
    }
}
大佬帮忙看一下哪里错了,搞不懂啊
2018-11-19 22:52
nglstx
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2018-11-4
收藏
得分:0 
#include<stdio.h>
#include<string.h>
#include<conio.h>
struct student
{
 char name[20];
 int a;
 } ;
int n;
 void luru(struct student stu[],int n)
{
 int i;   
 printf("请输入各学生信息:\n");
 printf("姓名        成绩\n");   
  for(i=0;i<n;i++)   
    {        
     scanf("%s%d",stu[i].name,&stu[i].a);
    }      
}
 void jishu(struct student stu[],int n)
{
  int i,count=0;
  for(i=0;i<n;i++)   
 {        
    if(stu[i].a<=59)
    count++;   
 }   
  printf("不及格人数为:%d\n",count);
}
void paixu(struct student stu[],int n)
  {
    int i,j;  
    struct student tempstu;
     printf("排序前,学生成绩:\n");
     printf("姓名        成绩\n");
      for(i=0;i<n;i++)
       printf("%s\t\t%d\n",stu[i].name,stu[i].a);
       printf("按成绩降序排列(冒泡排序法)\n");
        for(i=0;i<n-1;i++)
         for(j=n-i;j>i;j--)
          if(stu[j-1].a<stu[j].a)
            {
            tempstu=stu[j-1];
            stu[j-1]=stu[j];
            stu[j]=tempstu;
            }
         
        printf("按总成绩降序排序后,学生成绩:\n");
        printf("姓名        成绩\n");
        for(i=0;i<n;i++)
        printf("%s\t\t%d\n",stu[i].name,stu[i].a);
  }
  main()
{   
    struct student stu[n];
    char choose,a;
do
    {
     printf("|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|\n");
     printf("| 1:录入学生成绩;                                                             |\n");
     printf("| 2:不及格人数计数;                                                           |\n");
     printf("| 3:排序学生成绩;                                                             |\n");
     printf("|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|\n");
   
     printf("请在1-3选择\n");
     fflush(stdin);
     choose=getchar();
 
     switch(choose)
     {
         case '1':printf("1:录入学生成绩\n");
                  printf("请输入学生人数:");   
                  scanf("%d",&n);
                  luru(stu,n);
                  break;
         case '2':printf("2:不及格人数计数\n");
                  jishu(stu,n);
                   break;
         case '3':printf("2:排序学生成绩\n姓名        成绩\n");
                  paixu(stu,n);         
                  break;

     }

     printf("是否需要重新选择:(Y/y:表示是,N/n:表示否)\n");
     fflush(stdin);
     a=getchar();
     if (a=='N'||a=='n')
         break;
    }while(a=='Y'||a=='y');
    return 0 ;
}
已经解决了谢谢各位
2018-11-19 23:12
快速回复:求大佬们帮帮忙
数据加载中...
 
   



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

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