日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

while循环里面scanf_5.1 for循环

發布時間:2024/9/19 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 while循环里面scanf_5.1 for循环 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • for循環像一個計數循環:設定一個計算器,初始化它,然后在計數器到達某值之前,重復執行循環體,而每執行一輪循環,計數器值以一定步進進行調整,比如加1或者減1

for(i=0;i<5;i=i+1){ printf("%d",i); }

  • for(初始動作;條件;每輪的動作){
    }
  • for中的每一個表達式都是可以省略的
    for (;條件;) == while (條件)

for=對于

  • for(count=10;count>0;count--)
  • 就讀成:“對于一開始的count=10.當count>0時,重復做循環體,每一輪循環在昨晚循環體內語句后,使得count--。

c int n; scanf("%d",&n); int fact = 1; for ( int i=1; i<=n;i++){ fact *= i; } printf("%d!=%dn",n,fact)

  • 循環控制變量i只在循環里被使用了,在循環外面它沒有任何用處。因此,我們可以把變量i的定義寫到for語句里面去
  • 只有C99能使用

循環次數

  • for(i=0;i<n;i++)
  • 則循環的次數是n。而循環結束以后,i的值是n。循環的控制變量i,是選擇從0開始還是從1開始,是判斷i<n還是判斷i<=n,對循環的次數,循環結束后變量的值都有影響
for (int i=1;i<=n;i++){fact *=i; }int i=1; while (i<=n){fact *= i;i++; }

Tips for loops

  • 如果有固定次數,用for
  • 如果必須執行一次,用do-while
  • 其他情況用while

素數

  • 只能被1和自己整除的數,不包括1
  • 2,3,5,7,11,13,17,19.......

```c #include int main(){ int x; scanf("%d",&x);

int i;int isPrime = 1;for (i=2;i<x;i++){if (x % i == 0){isPrime = 0; } }if (isPrime == 1){printf("是素數n");}else{printf("不是素數n")}return 0;

}

```

#### break vs continue

  • break:跳出循環
  • continue:跳過循環這一輪剩下的語句進入下一輪
  • 只能對它所在的那層循環做

湊硬幣

  • 如何用1角、2角和5角的硬幣湊出10元以下的金額呢?
#include <stdio.h> int main(){int x;int one,two,five;// scanf("%d",&x);x = 2;for (one = 1;one< x*10;one++){for(two = 2;two< x*10/2;two++){for(five = 5;five< x*10/5;five++){if (one + two*2 +five*5 == x*10){printf("可以用%d個1角加%d個2角加%d個5角得到%d元n",one,two,five,x);}}}}return 0; }

跳出多重循環

接力break

#include <stdio.h> int main(){int x;int one,two,five;exit = 0;// scanf("%d",&x);x = 2;for (one = 1;one< x*10;one++){for(two = 2;two< x*10/2;two++){for(five = 5;five< x*10/5;five++){if (one + two*2 +five*5 == x*10){printf("可以用%d個1角加%d個2角加%d個5角得到%d元n",one,two,five,x);exit =1;break;}}if(exit==1) break;}if(exit==1) break;}return 0; }

goto

#include <stdio.h> int main(){int x;int one,two,five;// scanf("%d",&x);x = 2;for (one = 1;one< x*10;one++){for(two = 2;two< x*10/2;two++){for(five = 5;five< x*10/5;five++){if (one + two*2 +five*5 == x*10){printf("可以用%d個1角加%d個2角加%d個5角得到%d元n",one,two,five,x);goto out;}}}} out:return 0; }

循環應用:求前n項求和

#include <stdio.h> int main() {int n;int i;double sum = 0.0;scanf ("%d",&n);for ( i=1;i<=n;i++){sum += 1.0/i;}printf{"f(%d)=%fn",n,sum};return 0;} #include <stdio.h> int main() {int n;int i;double sum = 0.0;int sign =1;scanf ("%d",&n);for ( i=1;i<=n;i++){sum += 1.0/i;sign = -sign;}printf{"f(%d)=%fn",n,sum};return 0;}

正序分解整數

#include <stdio.h> int main() {int x;scanf("%d",&x);int t= x;int mask =1;while (t>9) {t/=10;mask *=10;} printf("x=%d,mask=%dn",x,mask); do {int d = x /mask;printf("%d",d);if (mask>0) {printf(" ");}x %= mask;mask /= 10;}while (mask>0);printf("n");return 0; }

求最大公約數

/*如果b等于0,計算結束,a就是最大公約數; 否則,計算a除以b的余數,讓a等于b,而b等于那個余數; 回到第一步。 a b t 12 18 12 18 12 6 12 6 0 6 0 */#include <stdio.h> int main() {int a,b;int t;scanf("%d %d",&a,&b);while (b !=0){t= a%b;a=b;b=t;}printf("gcd=%dn",a);return 0; }

總結

以上是生活随笔為你收集整理的while循环里面scanf_5.1 for循环的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。