#include
#include
#include
void fun (double ,double ,double *,double *);
int main ()
{
double m,n;
double *x=&m,*y=&n;
scanf("%lf%lf",x,y);
fun(*x,*y,x,y);
printf("%.2f %.2f",*x,*y);
return 0;
}
void fun (double x,double y,double *c,double *q)
{
if (x!=0){
*c=sqrt(x*x+y*y);
*q=atan(y/x);}
if(x==0&&y!=0)
{
*c=y;
*q=1.57;
}
if(x==0&&y==0){
*c=0;
*q=0;}
}
2.键盘上输入一组数的个数n(小于10个)以及这n个数,最大的与第一个元素交换,最小的与最后一个元 素交换,并输出交换后的数组。
#include
int main()
{
int*pmax,*pmin;
int data[10],temp,i,n;
scanf("%d",&n);;
for(i=0;i=temp){
temp=data[i];
u=i;}
}
printf("max=%d\n",temp);
temp=data[0];int t;
for(i=0;i
3.设有一数列,包含10 个数,已按升序排好。现要求编一程序,它能够把从指定位置m开始的n个数按逆序重新排列并输出新的完整数列。
进行逆序处理时要求使用指针方法(例如:原数列为2,4,6,8,10,12,14,16,18,20,m=4, n=5,即要求把从第4个数开始的5个数按逆序重新排列,则得到新数列为2,4,6,16,14,12,10,8,18,20。)
#include
void method(int m,int n,int *a);
int main()
{
int a[10];
int i, m, n;
for ( i=0; i<10; i++ )
scanf("%d", &a[i] );
scanf( "%d%d", &m, &n );
method(m,n,a);
for( i=0;i<10;i++ )
printf( "%d ", a[i] );
}
void method(int m,int n,int *a)
{
int temp;int i,b;
for( i=m-1, b=m+n-2;i<=b;++i,--b){
temp=a[i];
a[i]=a[b];
a[b]=temp;}
}