填空题:
#include<stdio.h>
typedef struct stu
{
char ID[30];
char name[20];
int score[2];
} STU;
int fun(STU *d,int n)
{
int i,m;
/******found******/
m=0;
for(i=1;i<n;i++)
/******found******/
if(d[i].score[0]+d[i].score[1]>(*(d+m)).score[0]+(*(d+m)).score[1])
m=i;
/******found******/
return m;
}
void main()
{
STU a[10]={ "2016500301","李清水",83,92,"2016500336","刘世才",85,94,"2016500371","王子晨",88,88};
int i,n=3;
i=fun(a,n);
printf("%30s%20s%4d%4d",a[i].ID,a[i].name,a[i].score[0],a[i].score[1]);
printf("\n");
}
改错题:
#include<stdio.h>
#include<stdlib.h>
typedef struct dat
{
char deleted; //是否删除:0-未删除,1-删除
int data;
struct dat* next;
} MYDATA;
void list(MYDATA *h)
{
/******found******/
MYDATA *p;
p=h->next;
while(p!=NULL)
{
/******found******/
if(p->deleted==0)
{
printf("%d ",p->data);
}
/******found******/
p=p->next;
}
}
void creat(MYDATA *h,int *d,int n)
{
MYDATA *p, *q;
int i=0,del;
q=h;
while(n>0)
{
p=( MYDATA *)malloc(sizeof(MYDATA));
del=rand()%2;
p->data=d[i];
p->deleted=del;
p->next=q->next;
q->next=p;
q=p;
n--;i++;
}
}
void main()
{
MYDATA *head;
int n=10,dd[]={1,2,3,4,5,6,7,8,9,10};
head=(MYDATA *)malloc(sizeof(MYDATA));
head->next=NULL;
creat(head,dd,n);
list(head);
}
编程题:
#include <stdio.h>
#include <stdlib.h>
#define N 10
#pragma warning (disable:4996)
void NONO(FILE *fp, int pd[], int n);
void fun (int *dp,int n,int upordown)
{
int i, temp, index = 0;
if (n==0)return;
for (i = 1; i < n; i++)
{
if (upordown == 0 && dp[i] < dp[index] || upordown == 1 &&dp[i] > dp[index])
{
index = i;
}
}
if (index != 0)
{
temp = dp[index];
dp[index] = dp[0];
dp[0] = temp;
}
}
void display(int pd[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%4d",pd[i]);
printf("\n");
}
void main()
{
int data[N],i,n=N;
FILE *out ;
out = fopen("out.dat","w") ;
for(i=0;i<N;i++)
data[i]=rand()%90+10;
for(i=0;i<N-1;i++)
fun(data+i,n-i,0);
display(data,n);
NONO(out, data, n);
for(i=0;i<N;i++)
data[i]=rand()%90+10;
for(i=0;i<N-1;i++)
fun(data+i,n-i,1);
display(data,n);
NONO(out, data, n);
fclose(out);
}
void NONO(FILE *fp, int pd[], int n)
{
int i;
for(i=0;i<n;i++)
fprintf(fp, "%4d", pd[i]);
fprintf(fp, "\n");
}