动态 版块 发帖 消息 我的
Loading...
HadSky
支持原创软件,共创美好明天!
ZSSLv1 
程序题     
 0  已被阅读了1247次  楼主 2020-12-07 20:41:01
回复列表
gzadmin
8F
小泪Lv67   

@全体成员 

第四天课程链接: https://pan.baidu.com/s/17mrFBWqoni7Ls70XGfrwCw 提取码: j4ay 

  

听课链接:https://view.csslcloud.net/api/view/index?roomid=367D71106D63C4379C33DC5901307461&userid=44CACEB725BAB224

 0   2020-12-31 19:03:09  回复
zss
7F
ZSSLv1 

/*------------------------------------------------

【程序设计】

--------------------------------------------------


功能:统计出若干个学生的平均成绩,最高分以及得最高

      分的人数。

例如:输入10名学生的成绩分别为92,87,68,56,92,

      84,67,75,92,66,则输出平均成绩为77.9,

      最高分为92,得最高分的人数为3人。


------------------------------------------------*/


#include <stdio.h>

void wwjt();

   

float Max=0;

int J=0;


float fun(float array[],int n)

{

  

  /**********Program**********/

  int i;

  float sum=0;

  Max=array[0];

  for(i=0;i<n;i++)

  {

 sum+=array[i];

 if(Max<array[i])Max=array[i];

  }

  for(i=0;i<n;i++)

  {

 if(Max==array[i])J++;

  }

  return sum/n;

  

  

  

  

  

  /**********  End  **********/

  

}


main(  )

{

  float  a[10],ave;

  int i=0;

  for(i=0;i<10;i++)

    scanf("%f",&a[i]);

  ave=fun(a,10);

  printf("ave=%f\n",ave);

  printf("max=%f\n",Max);

  printf("Total:%d\n",J);

  wwjt();

}


void wwjt()

{

  FILE *IN,*OUT;

  float iIN[10],iOUT;

  int iCOUNT;

  IN=fopen("in.dat","r");

  if(IN==NULL)

  {

    printf("Please Verify The Currernt Dir..it May Be Changed");

  }

  OUT=fopen("out.dat","w");

  if(OUT==NULL)

  {

    printf("Please Verify The Current Dir.. it May Be Changed");

  }

  for(iCOUNT=0;iCOUNT<10;iCOUNT++)

    fscanf(IN,"%f",&iIN[iCOUNT]);

  iOUT=fun(iIN,10);

  fprintf(OUT,"%f %f\n",iOUT,Max);

  fclose(IN);

  fclose(OUT);

}


 0   2020-12-09 16:34:49  回复
zss
6F
ZSSLv1 

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------


题目:学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,

      请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。


注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。

      请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入

      你编写的若干语句。


-------------------------------------------------------*/

#include <stdio.h>


#define   N   16


void wwjt ( );


typedef  struct

{  

        char  num[10];

        int   s;

} STREC;


int  fun( STREC  *a, STREC *b )

{

        /**********Program**********/

int i,sum=0,n,j=0;

n = a[0].s;

for(i=1;i<16;i++)

{

if(n<a[i].s)

{

n=a[i].s;

}

}

for(i=0;i<16;i++)

{

if(a[i].s==n)

{

b[sum].s=a[i].s;

for(j=0;a[i].num[j]!='\0';)

{

b[sum].num[j] = a[i].num[j];

j++;

}

b[sum].num[j]='\0';

sum++;

}

}

return sum;

        /**********  End  **********/

}


void main()

{  

        STREC  s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},

                {"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87},

                {"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},

                {"GA011",77},{"GA017",64},{"GA018",64},{"GA016",72}};

        STREC  h[N];

        int  i, n;

        n=fun( s, h );

        printf("The %d highest score :\n", n);

        for(i=0; i<n; i++)

                printf("%s  %4d\n", h[i].num, h[i].s);

        printf("\n");

        wwjt ( );

}

void wwjt( )

{

        FILE *in , *out ;

        int  i, n, a;

        STREC  s[N];

        STREC  h[N];

        in=fopen("in.dat", "r");

        if(in==NULL)

        {

                printf("Please Verify The Currernt Dir..It May Be Changed");

        }

        out=fopen("out.dat", "w");

        if(out==NULL)

        {

                printf("Please Verify The Current Dir.. It May Be Changed");

        }

        for(a = 0; a < 10; a ++)

        {

                for(i = 0; i<16; i ++)

                {

                        fscanf(in, "%s %d", &s[i].num, &s[i].s);

                }

                n=fun( s, h );

                fprintf(out, "%d\n", n);

                for(i = 0; i < n; i ++)

                        fprintf(out, "%d\n", h[i].s);

                        printf("\n");

        }

        fclose(in);

        fclose(out);

}


 0   2020-12-09 15:58:20  回复
zss
5F
ZSSLv1 

/*------------------------------------------------

【程序设计】

--------------------------------------------------


功能:输入2个学生3门课的成绩,计算学生成绩平均分,

      课程平均分和最高分. 

例如:输入2名学生3门课的成绩分别为92,87,68,56,

      92,84 则

      学生1平均分:82.33

      学生2平均分:77.33

      课程1平均分:74.00

      课程2平均分:89.50

      课程3平均分:76.00

      最高分为:92


------------------------------------------------*/

#include <stdio.h>

void wwjt();

 

/*定义全局变量*/

/*学生成绩平均分*/

float StuAgv[2];

/*课程平均分*/

float CouAgv[3];

/*所有学生的所有课程最高分*/

float Max=0;


/*说明:需要在下面函数中把题干要求中的结果赋值到上面定义一变量中*/

void fun(float score[2][3])

{

  

  /**********Program**********/

int i,j;

float sum;

for(i=0;i<2;i++)

{

sum=0;

for(j=0;j<3;j++)

{

sum=sum+score[i][j];

StuAgv[i]=sum/3;

}

}

for(j=0;j<3;j++)

{

sum=0;

for(i=0;i<2;i++)

sum=sum+score[i][j];

CouAgv[j]=sum/2;

}

Max=score[0][0];

for(i=0;i<2;i++)

{

for(j=0;j<3;j++)

{

if(Max<=score[i][j])

{

Max=score[i][j];

}

}

}

return;




  /**********  End  **********/

  

}


void main()

{

        int i,j;

        float score[2][3];

    

        printf("输入学生的成绩:");

    for(i=0;i<2;i++)

      for(j=0;j<3;j++)

         scanf("%f",&score[i][j]);


    printf("\n输出学生的成绩:");

    for(i=0;i<2;i++)

        {  

           for(j=0;j<3;j++)

             printf("%.2f  ",score[i][j]);

       printf("\n"); 

        }

   


    fun (score);


    for(i=0;i<2;i++)

       printf("第%d个学生的平均成绩是:%0.2f\n",i+1,StuAgv[i]);


    for(j=0;j<3;j++)

       printf("第%d门课的平均成绩是:%0.2f\n",j+1,CouAgv[j]);

        

        printf("所有分数中的最高分为:%.2f\n",Max);


        wwjt();

}



void wwjt()

{

  FILE *IN,*OUT;

  float iIN[2][3];

  int i,j;

  IN=fopen("in.dat","r");

  if(IN==NULL)

  {

    printf("Please Verify The Currernt Dir..it May Be Changed");

  }

  OUT=fopen("out.dat","w");

  if(OUT==NULL)

  {

    printf("Please Verify The Current Dir.. it May Be Changed");

  }


  for(i=0;i<2;i++)

    for(j=0;j<3;j++)

      fscanf(IN,"%f",&iIN[i][j]);

  fun(iIN);

  for(i=0;i<2;i++)

    fprintf(OUT,"%.2f\n",StuAgv[i]);

  for(j=0;j<3;j++)

    fprintf(OUT,"%.2f\n",CouAgv[j]);

  fprintf(OUT,"%.2f\n",Max);

        fclose(IN);

  fclose(OUT);

  return ;

}


 0   2020-12-07 20:43:32  回复
zss
4F
ZSSLv1 

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------


题目:请编一个函数fun(char *s),该函数的功能是:把字符串中的内容逆置。


例如:字符串中原有的字符串为"abcdefg",则调用该函数后,串中的内容为"gfedcba"。


注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入

      所编写的若干语句。


-------------------------------------------------------*/

#include <string.h>

#include <conio.h>

#include <stdio.h>


#define N 81


void wwjt();


void fun(char*s)

{

        /**********Program**********/

int i,n=0;

char b[N];

while(*s){

b[n]=*s;

n++;

*s++;

}

*s--;

for(i=0;i<n;i++)

{

*s=b[i];

*s--;

}



        /**********  End  **********/

}


void main()

{

        char a[N];

        printf("Enter a string:");

        gets(a);

        printf("The  original string is:");

        puts(a);

        fun(a);

        printf("\n");

        printf("The string after modified:");

        puts(a);

        wwjt();

         

}

void wwjt()

{

        FILE *in,*out;

        char a[N];

        int i;

        in=fopen("in.dat","r");

        if(in==NULL)

        {

                printf("Please Verify The Currernt Dir..It May Be Changed");

        }

        out=fopen("out.dat","w");

        if(out==NULL)

        {

                printf("Please Verify The Current Dir.. It May Be Changed");

        }


        for(i=0; i<N; i++)

        {

                fscanf(in,"%s",&a[i]);

        }

        fun(a);

        fprintf(out,"%s\n",a);

        fclose(in);

        fclose(out);


}


 0   2020-12-07 20:42:27  回复
zss
3F
ZSSLv1 

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------


题目:从键盘输入10个学生的成绩,统计及格(60分及其60分

      以上)的人数。请编fun函数。


-------------------------------------------------------*/

#include "stdio.h"


void wwjt();


int fun (int a[])

{

        

    /**********Program**********/

int i,n=0;

for(i=0;i<10;i++)

{

if(a[i]>=60)

{

n++;

}

}

return n;


    /**********  End  **********/


}


void main()

{        

    int a[10], i, s;

    for(i = 0; i < 10; i ++)

        scanf("%d", &a[i]);

    s=fun(a);

    printf("%d", s);


    wwjt();

}


void wwjt()

{

    FILE *IN, *OUT;

    int iIN[10], i;

    int iOUT, iCOUNT;

    IN=fopen("in.dat", "r");

    if(IN == NULL)

    {

        printf("Please Verify The Currernt Dir..it May Be Changed");

    }

    OUT = fopen("out.dat", "w");

    if(OUT == NULL)

    {

        printf("Please Verify The Current Dir.. It May Be Changed");

    }

    for(i = 0; i < 5; i ++)

    {  

        for(iCOUNT = 0; iCOUNT < 10; iCOUNT++)

        fscanf(IN,"%d", &iIN[iCOUNT]);

        iOUT=fun(iIN);

        fprintf(OUT,"%d\n",iOUT);

    }

    fclose(IN);

    fclose(OUT);

}


 0   2020-12-07 20:42:02  回复
zss
2F
ZSSLv1 

/*------------------------------------------------

【程序设计】

--------------------------------------------------


功能:编写函数fun将一个数组中的值按逆序存放,并在

      main()函数中输出。

例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。


------------------------------------------------*/


#include <stdio.h>

#define N 5

void  wwjt(); 



void  fun(int arr[],int n)

{

  /**********Program**********/

  

  int i,t;

  for(i=0;i<n/2;i++)

  {

  t=arr[i];

  arr[i]=arr[n-1-i];

  arr[n-1-i]=t;

  }

  return;

  

  

  

  

  /**********  End  **********/

  

}


main()

{

  int a[N]={8,6,5,4,1},i;

  for(i=0;i<N;i++)

    printf("%4d",a[i]);

  printf("\n");

  fun(a,N);

  for(i=0;i<N;i++)

    printf("%4d",a[i]);

  wwjt();

}


void wwjt()

{

  FILE *IN,*OUT;

  int n;

  int i[10];

  IN=fopen("in.dat","r");

  if(IN==NULL)

  {

    printf("Read FILE Error");

  }

  OUT=fopen("out.dat","w");

  if(OUT==NULL)

  {

    printf("Write FILE Error");

  }

  for(n=0;n<10;n++)

  {    

    fscanf(IN,"%d",&i[n]);

  }

  fun(i,10);

  for(n=0;n<10;n++)

  {    

    fprintf(OUT,"%d\n",i[n]);

  }

  fclose(IN);

  fclose(OUT);

}


 0   2020-12-07 20:41:34  回复

回复:程序题

guest
登录之后更精彩~
Powered by HadSky 7.2.8
© 2015-2025 PuYueTian
您的IP:10.1.51.194,2025-06-07 22:27:52,Processed in 0.02481 second(s).
Powered by HadSky
2019届高三19班班论坛,祝各位学子高考成功!