2009年3月19日 星期四

C語言的範例 –質因數分解 - 條件運算式的應用

C語言的範例 質因數分解
題目:將一個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5 程式分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:  
(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。 
(2)如果n<>k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新的正整數你n,重複執行第一步。 
(3)如果n不能被k整除,則用k+1作為k的值,重複執行第一步。 
2.程式源代碼: 
/* zheng int is divided yinshu*/ 
main() 
{ 
int n,i; 
printf("\nplease input a number:\n"); 
scanf("%d",&n); 
printf("%d=",n); 
for(i=2;i<=n;i++) 
 { 
  while(n!=i) 
  { 
   if(n%i==0) 
   { printf("%d*",i); 
    n=n/i; 
   } 
   else 
    break; 
  } 
} 
printf("%d",n);} 
============================================================== 
C語言的範例 條件運算式的應用
題目:利用條件運算式的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。 
1.程式分析:(a>b)?a:b這是條件運算符的基本例子。 
2.程式源代碼: 
main() 
{ 
 int score; 
 char grade; 
 printf("please input a score\n"); 
 scanf("%d",&score); 
 grade=score>=90?'A':(score>=60?'B':'C'); 
 printf("%d belongs to %c",score,grade); 
}