diff --git a/step6.c b/step6.c new file mode 100644 index 0000000..1417e45 --- /dev/null +++ b/step6.c @@ -0,0 +1,102 @@ +#include +#include +int main(){ + int CORRECT(float m[][4],char m1[][6],char m2[][10],int r); + int SORT(float m[][4],char m1[][6],char m2[][10],int r,int t); + int i,j,signal; + float message[3][4]={{11,99.5,88.5,89.5},{12,77.9,56.5,87.5},{11,92.5,99.0,60.5}}; + char message_number[3][6]={"10001","10002","10003"}; + char message_name[3][10]={"Zhang","Yang","Liang"}; + signal=CORRECT(message,message_number,message_name,3); + signal=SORT(message,message_number,message_name,3,signal); + for(i=0;i<3;i++){ + if(i>0&&message[i-1][0]==message[i][0]){ + printf(" "); + } + else + printf("%d ",(int)message[i][0]); + printf("%s ",message_number[i]); + printf("%s ",message_name[i]); + for(j=1;j<=2;j++){ + printf("%.1f ",message[i][j]); + } + if(i==signal){ + printf("%.1f modified\n",message[i][3]); + } + else{ + printf("%.1f\n",message[i][3]); + } + } +} +int CORRECT(float m[][4],char m1[][6],char m2[][10],int r){ + int i,j,signal,word=0; + char number[6]; + scanf("%5s",number); + number[6]='\0'; + for(i=0;i*(*(m+j+1)+0)){ + SWAPNUMBER(m[j],m[j+1],4); + SWAPSTRING(m1[j],m1[j+1]); + SWAPSTRING(m2[j],m2[j+1]); + if(j==t) + t++; + } + + else if(*(*(m+j)+0)==*(*(m+j+1)+0)){ + float totalscore1=*(*(m+j)+1)+*(*(m+j)+2)+*(*(m+j)+3); + float totalscore2=*(*(m+j+1)+1)+*(*(m+j+1)+2)+*(*(m+j+1)+3); + if(totalscore1l2){ + a[l2]='\0'; + } + else if(l1