天天看點

c++一看就懂的for循環#水仙花數

for循環的特點:簡單,粗暴。

怎麼說呢?

它的條件也是程式塊的本身,比如for(i=0;i<6;i++)

初始化也在for括号裡面進行。

執行過程和while循環類似,這裡不再贅述。

c++一看就懂的for循環#水仙花數

之前的用while語句寫的1+2+3…+100的程式設計題,for循環也可。

#include <stdio.h>
int main()
{
    int sum, i;  
    sum = 0;
    for(i=0;i<=100;i++) //for循環條件與i的變化值
    {
         sum+=i;    //計算每次數字之間的和sum
    }
    printf("100以内整數的和為:%d\n", sum);
    return 0;
}
           
c++一看就懂的for循環#水仙花數

下面來個進階點的,輸出全部的水仙花數

#include <stdio.h>
int main()
{
    int num,hundred,ten,one;//定義三位數num,以及百十個位
    for(num=100;num<1000;num++)    //循環所有三位數
    {
   
        hundred=num/100;
		        //擷取三位數字num百位上的數字
 
        ten=num%100/10;
		       //擷取三位數字num十位上的數字
     
        one=num%100%10;
              //擷取三位數字num個位上的數字
        if(num==hundred*hundred*hundred+ten*ten*ten+one*one*one) 
        {
            printf("水仙花數字:%d\n", num);    
        }
    }
    return 0;    
}
           
c++一看就懂的for循環#水仙花數

那水仙花數怎麼判斷呢?

網上的很多答案都很繁瑣,這裡是自己寫的水仙花數,希望能對你起到幫助吧。

#include <stdio.h>
int main()
{
    int num,hundred,ten,one;//定義三位數num,以及百十個位
	printf("請輸入一個三位數,判斷是否為水仙花數:");
	scanf("%d",&num);
        hundred=num/100;
		        //擷取三位數字num百位上的數字
 
        ten=num%100/10;
		       //擷取三位數字num十位上的數字
     
        one=num%100%10;
              //擷取三位數字num個位上的數字 	  
	if(num==hundred*hundred*hundred+ten*ten*ten+one*one*one) 
		printf("\n該三位數是水仙花數\n", num); 
	else
		printf("\n該數不是水仙花數\n");
    return 0;    
}
           
c++一看就懂的for循環#水仙花數
c++一看就懂的for循環#水仙花數

繼續閱讀