初学者提的关于C的问题。
本人刚学C。。 请问下面的程式我错在哪呀?? 谢谢各位大侠。
题目是:写一个子程式mmm,找出a[]中最小数,输出最小数和最小数的序号。其它程式不变。
我所写的子程式老有问题,请帮助解决。THANKS。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define N 10
void readwriteDAT();
typedef struct ss
{ char num[10]; int s; } STU;
/*-------------------------*/
mmm(STU a[], STU *s)
{
int n,i=0;
char *ch;
n=a[i].s;
while(i!=9){
i++;
if(a[i].s<n)
n=a[i].s;
ch=a[i].num;
}
s->num=ch; /* tc说我这里错了 */
s->s=n;
}
/*-------------------------*/
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;
clrscr();
printf("***** The original data *****\n");
for(i=0; i< N; i++)printf("No = %s Mark = %d\n", a[i].num,a[i].s);
mmm(a, &m);
printf("***** THE RESULT *****\n");
printf("The lowest : %s , %d\n",m.num, m.s);
}