for循環的特點:簡單,粗暴。
怎麼說呢?
它的條件也是程式塊的本身,比如for(i=0;i<6;i++)
初始化也在for括号裡面進行。
執行過程和while循環類似,這裡不再贅述。
之前的用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;
}
下面來個進階點的,輸出全部的水仙花數
#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;
}
那水仙花數怎麼判斷呢?
網上的很多答案都很繁瑣,這裡是自己寫的水仙花數,希望能對你起到幫助吧。
#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;
}