用C program 編寫的第一個程序

上一篇 / 下一篇  2008-01-03 21:34:58 / 天气: 晴朗 / 心情: 喜悅 / 个人分类:study

面朝大海,春暖花開......

這是我第一次用C 語言編寫的程序, 一個朋友出的題目, 雖然用了比較久的時間, 雖然我也不清楚自己怎麼就想到使用返回的指針變量, 然後它就這樣做到了題目的要求. 當結果出來的時候, 自己有種說不出來的興奮與喜悅,這或多或少都給自己了一些信心. 呵呵. 看來自己的努力沒有白費!

 

具體如下:

題目: 輸入10個整數,將其中最小的數與第一個數對換,把最大的數與最後一個數對換.(用指針來完成)

code as follows:

#include<stdio.h>

int *Max(int a[10], int max)
{
    int i;
 int *p=&a[0];
 max=a[0];
 for(i=0;i<10;i++)
 {
  if(a[i]>=max)
  {
   max=a[i];
   p=&a[i];
  }
 }
  return p;
}

int *Min(int a[10], int min)
{
    int i;
 int *p=&a[0];
 min=a[0];
 for(i=0;i<10;i++)
 {
  if (a[i]<=min)
  {
   min=a[i];
   p=&a[i];
  }
 }
  return p;
 
}

void swap(int *p1,int *p2)
{
 int temp;
 temp=*p1;
 *p1=*p2;
 *p2=temp;
}

void main()
{
 int a[10], i;
    for(i=0;i<10;i++)
 scanf("%d",&a[i]);
 int min=0,max=0;
 int *t1=Min(a,min);
 int *t2=Max(a,max);
 int *Q1,*Q4;
 Q1=&a[0];Q4=&a[9];
 swap(Q1,t1);
 swap(Q4,t2);
 for(i=0;i<10;i++)
    printf("%2d",a[i]);
 printf("\n");
}

 


TAG: study

 

评分:0

我来说两句

Open Toolbar