Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 14889|Yanıt: 0

[C] İşaret yöntemi 10 sayı girin, en küçük sayı ilk sayıyla, en büyük sayı ise son sayı ile değiştirilir.

[Bağlantıyı kopyala]
Yayınlandı 15.12.2015 14:19:52 | | |
  1. #include "stdafx.h"
  2. #include "stdio.h"
  3. int main(int argc, char* argv[])
  4. {void input(int *number);
  5. void maxmin(int *number);
  6. void output(int *number);
  7. int number[10];
  8. input(number);
  9. maxmin(number);
  10. output(number);
  11. return 0;
  12. }
  13. void input(int *number)
  14. {printf("please input 10 integer numbers:");
  15. int i;
  16.     for(i=0;i<10;i++)
  17.     scanf("%d",&number<i>);
  18. }
  19. void maxmin(int *number) //交换函数
  20. {int *max, *min,*p,temp;  //定义最大最小,存储变量
  21. max=min=number;   //开始是最大最小值指向第一个数
  22. for(p=number+1;p<number+10;p++)//循环他的第一个数
  23. if(*p>*max)max=p;        //若p指向的数字大于max指向的数,就使max指向p指向的大数字
  24. else if(*p<*min)min=p;   //若p指向的数字小于min指向的数,就使min指向p指向的小数字
  25. temp=number[0];number[0]=*min;*min=temp; //将最小数与第一个数number【0】交换
  26. if(max==number) max=min; //如果max和number相等,,表示第一个数是最大数,则使max指向当前的最大数
  27. temp=number[9];number[9]=*max;*max=temp;//将最大数与最后一个数交换
  28. }
  29. void output(int *number)
  30. {int *p;
  31. printf("now,they are:   ");
  32. for(p=number;p<number+10;p++)
  33. printf("%d,",*p);
  34. printf("\n");
  35. }</i>
Kopya kodu

Bu fonksiyon hâlâ nispeten karmaşıktır, üç fonksiyon kullanır ve bunu çözmek için işaretçi yöntemini kullanır






Önceki:Baidu webmaster platformunun harici bağlantı reddetme fonksiyonu kaldırıldı ve hiperzincir algoritması güncellendi
Önümüzdeki:İşaret yöntemi: 3 dizi girin ve bunları en küçükten en büyüğe sırayla çıkarın
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com