太阳月亮星星快出来呀 我给你送东西来了 呵呵!~
#include"stdio.h"
/*
yuea.c
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.写三个
函数:1.输入10个数;2.进行处理;3.输出10个数.
*/
main()
{
void input(int x[],int count),cl(int y[],int count),output(int z[],int count);/*声明*/
int a[10];
int count=sizeof(a)/2; /*sizeof()测试数据一共占多少字节,由于一个整型占2个字
节,所以10个元素的数组一共占20个字节,要除以2以得到
数组元素个数
*/
clrscr(); /*清屏函数*/
input(a,count); /*调用输入函数*/
cl(a,count); /*调用处理函数*/
printf("输出结果:");
output(a,count); /*调用输出函数*/
}
/*
输入函数
*/
void input(int x[],int count)
{
int *p;
printf("请输入10个整数:");
for(p=x; p<(x+count); p++)
scanf("%d",p);
}
/*
处理函数
*/
void cl(int y[],int count)
{
int *p,max,min,temp;
min=max=y[0];
for(p=y; p<(y+count); p++)
{
if(max<*p) max=*p; /*得到最大值*/
else if(min>*p) min=*p; /*得到最小值*/
}
for(p=y; p<(y+count); p++)
{
if(min==*p) /*找到最小值所在位置,数组第一个元素与其对换*/
{temp=y[0]; y[0]=*p; *p=temp;}
else if(max==*p) /*找到最大值所在位置,数组最后元素与其对换*/
{temp=y[count-1]; y[count-1]=*p; *p=temp;} /*注意只能用Y[9]*/
}
}
/*
输出函数
*/
void output(int z[],int count)
{
int *p;
for(p=z; p<(z+count); p++)
printf("%d ",*p);
}
/****************************************************************/
/*
YUEB.C
写一函数,将一个3X3的矩阵转置
*/
main()
{
void index(int (*geta)[3],int (*setb)[3],int x,int y);
int a[3][3],b[3][3];
int i,j;
clrscr();
printf("请输入数据([3][3]):");
for(i=0; i<3; i++) /*输入数据*/
{
for(j=0; j<3; j++)
scanf("%d",&a[i][j]);
}
printf("原序输出\n");
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
printf("%d ",a[i][j]);
printf("\n");
}
index(a,b,i,j); /*函数调用*/
printf("转置输出\n");
for(i=0; i<3;i++) /*输出函数*/
{
for(j=0; j<3; j++)
printf("%d ",b[i][j]);
printf("\n");
}
}
/*
转置函数
*/
void index(int (*geta)[3],int (*setb)[3],int x,int y) /*一定要声明行指针*/
{
int h,l;
for(h=0; h<x; h++)
{
for(l=0; l<y; l++)
setb[l][h]=geta[h][l];
}
}
/************************************************************************/
这里只有两道只是没有太多时间 我有空就会你给发过来的
这些题全是原版 经过测试准确无误
放假回来记得来看啊我在这里好无聊啊到时一起去打半死啊哈哈。。