实验一
右移操作
#include <stdio.h>
#define N 4
void fun(int (*t)[N], int m)
{ int i, j;
for(i=0; i<N; i++ )
{ for(j=N-1-m; j>=0; j--)
t[i][j+m ]=t[i][j];
for(j=0; j<m; j++)
t[i][j]=0;
}
}
main()
{ int t[][N]= {21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j,m;
printf("\n原始矩阵为:\n");
for(i=0; i<N; i++)
{ for(j=0; j<N; j++)
printf("%2d ",t[i][j]);
printf("\n");
}
printf("请输入要右移的位数m (m<=%d): ",N);
scanf("%d",&m);
fun(t,m);
printf("\n右移后的矩阵为:\n");
for(i=0; i<N; i++)
{ for(j=0; j<N; j++)
printf("%2d ",t[i][j]);
printf("\n");
}
}
从大到小排序
#include <stdio.h>
void fun(float *p,float *q,float *s)
{
float k;
if (*p<*q)
{ k=*p;*p=*q;*q=k;}
/************found************/
if (*p<*s)
{ k=*s;*s=*p;*p=k;}
if (*q<*s)
{ k=*q;*q=*s;*s=k;}
}
main()
{ float a,b,c;
printf("请输入三个小数 a、b和c:");
scanf("%f%f%f",&a,&b,&c);
printf("这三个数分别为:");
printf("a=%4.1f,b=%4.1f,c=%4.1f\n",a,b,c);
fun(&a,&b,&c);
printf("按从大到小排序后这三个数分别为:");
printf("a=%4.1f,b=%4.1f,c=%4.1f\n\n",a,b,c);
}
最低分数学生
请输入代码