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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

hdu 2006 求奇数的乘积(c语言)

發布時間:2025/7/14 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdu 2006 求奇数的乘积(c语言) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

hdu 2006 求奇數的乘積

link

題目描述

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 121649 Accepted Submission(s): 73907

Problem Description
給你n個整數,求他們中所有奇數的乘積。

Input
輸入數據包含多個測試實例,每個測試實例占一行,每行的第一個數為n,表示本組數據一共有n個,接著是n個整數,你可以假設每組數據必定至少存在一個奇數。

Output
輸出每組數中的所有奇數的乘積,對于測試實例,輸出一行。

Sample Input
3 1 2 3
4 2 3 4 5

Sample Output
3
15

Author
lcy

問題解答

#include <stdio.h> int main() {int n, number, multiplication;while( scanf( "%d", &n) != EOF ){multiplication = 1;for( int i=1; i<=n; i++){scanf( "%d", &number );if( number%2 == 1 ) multiplication*=number;}printf( "%d\n", multiplication );} }

筆記

  • 題目要求“包含多個測試實例”,說明要用while(scanf("%d",&n)!=EOF)循環進行嵌套。
  • 題目要求“每行的第一個數為n,表示本組數據一共有n個”,提示很明顯,n是一個要求用戶輸入的控制內層循環的變量,內部循環一次就要用戶輸入一個值并判斷這個值是不是奇數(在這邊我采用的是for循環,因為短)。
  • 第10、11行,注意:不能合并為if(scanf("%d",&number)%2==1) multiplication*=number;否則判斷無效,具體為什么不可以的原理我也沒有弄清楚,可能涉及一些其他更深奧的東西,反正進行測試的時候就會出錯。
  • 第4、7行,賦值multiplication=1需注意在while循環內、for循環外,定義int multiplication則要放在while函數外(這一部分知識是關于函數局部變量和調用機制的,知識點挺雜,不詳細介紹了;一般多碼碼代碼,多出幾次錯,多調試幾次,自己就get到那個點了)
  • 轉載于:https://www.cnblogs.com/yuzilan/p/10626217.html

    總結

    以上是生活随笔為你收集整理的hdu 2006 求奇数的乘积(c语言)的全部內容,希望文章能夠幫你解決所遇到的問題。

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