查看: 1633|回复: 3
收起左侧

[软件] C语言题目求助!

[复制链接]
主动防御
发表于 2015-9-5 14:34:38 | 显示全部楼层 |阅读模式
本帖最后由 主动防御 于 2015-9-5 14:35 编辑

#include<stdlib.h>
#define N 10
typedef struct ss /*定义结构体*/
{ char num[10];
int s;
} STU;
fun(STU a[], STU *s)
{
int i,j,max=a[0].s;
max=a[0].s;
for(i=1;i<N;i++) /*找出成绩最高的学生记录*/
{
if(max<a.s)
max=a.s;
j=i;
}
*s=a[j];


}
void main()
{
FILE *wf;
STU a[N]={{ "A01",81},{ "A02",89},{ "A03",66},{ "A04",87},{ "A05",77},
{ "A06",90},{ "A07",79},{ "A08",61},{ "A09",80},{ "A10",71}},m;
int i;
system("CLS");
printf("*****The original data*****");
for(i=0;i<N;i++)
printf("No=%s Mark=%d\n", a.num,a.s);
fun(a,&m);
printf("*****THE RESULT*****\n");
printf("The top :%s, %d\n",m.num,m.s);
/******************************/
wf=fopen("out.dat","w");
fprintf(wf,"%s,%d",m.num,m.s);
fclose(wf);
/*****************************/
}






fun函数下面那部分是我写的,但是运行不出结果。找出成绩最高的学生记录,通过形参返回主函数。 运行出来是 ‘烫烫’这种乱码。
方鸿渐
发表于 2015-9-5 15:14:26 | 显示全部楼层
没有编译器,不过大概看了一下,13,14行a.s,貌似不对吧,a是一个数组啊
方鸿渐
发表于 2015-9-5 15:19:16 | 显示全部楼层
本帖最后由 方鸿渐 于 2015-9-5 15:49 编辑

帮你改了一下,在线编译器,可以运行出结果,不过最高分不正确,具体的问题你可以再找找看。
#include<stdlib.h>
#define N 10
typedef struct ss /*定义结构体*/
{ char num[10];
int s;
} STU;
void fun(STU a[], STU *s)
{
int i,j,max=a[0].s;
max=a[0].s;
for(i=1;i<N;i++) /*找出成绩最高的学生记录*/
{
if(max<a.s)
max=a.s;
j=i;
}
*s=a[j];
}

void main()
{
STU a[N]={{ "A01",81},{ "A02",89},{ "A03",66},{ "A04",87},{ "A05",77},
{ "A06",90},{ "A07",79},{ "A08",61},{ "A09",80},{ "A10",71}},m;
int i;
printf("*****The original data*****");
for(i=0;i<N;i++)
printf("No=%s Mark=%d\n", a.num,a.s);
fun(a,&m);
printf("*****THE RESULT*****\n");
printf("The top :%s, %d\n",m.num,m.s);
}
yanghan19911
发表于 2015-9-5 15:50:55 | 显示全部楼层
本帖最后由 yanghan19911 于 2015-9-5 15:58 编辑

#include<stdlib.h>
#define N 10
typedef struct ss /*定义结构体*/
{
  char num[10];
  int nScore;
} STU;
void fun(STU a[], STU *s)
{
  int i,j,max=a[0].nScore;
  max=a[0].nScore;
  for(i=1;i<N;i++) /*找出成绩最高的学生记录*/
  {
    if(max<a.nScore)
    {
      max=a.nScore;
      j=i;
    }
  }
  *s=a[j];
}
void main()
{
  FILE *wf;
  STU a[N] = {{ "A01",81},{ "A02",89},{ "A03",66},{ "A04",87},{ "A05",77},
  { "A06",90},{ "A07",79},{ "A08",61},{ "A09",80},{ "A10",71}};
  STU m;
  int i;
  system("CLS");
  printf("*****The original data*****\r\n");
  for(i = 0; i < N; i++)
    printf("No = %s\tMark = %d\n", a.num, a.nScore);
  fun(a,&m);
  printf("*****THE RESULT*****\n");
  printf("The top :%s, %d\n",m.num, m.nScore);
  /******************************/
  wf = fopen("out.dat", "w");
  fprintf(wf, "%s, %d", m.num, m.nScore);
  fclose(wf);
  /*****************************/
}
运行后结果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-14 18:00 , Processed in 0.137153 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表