---
# System prepended metadata

title: 1111 程式設計實習 (資訊一乙) UVA10783 Odd Sum OJ詳解

---

# 1111 程式設計實習 (資訊一乙) UVA10783 Odd Sum OJ詳解

## Odd Sum

### 題目敘述

給你一個範圍 a 到 b ，請你找出 a 與 b 之間所有奇數的和。

例如：範圍 [3, 9] 中所有奇數的和就是 3 + 5 + 7 + 9 = 24 。

---

### 題目輸入
輸入的第一列有一個整數 T （1≦T≦100），代表以下有多少組測試資料。 每組測試資料為兩列，包含兩個數 a 與 b （0≦a≦b≦100）。

---

### 題目輸出

每組測試資料輸出一列，內容為 a 及 b 間所有奇數的和。

---

### 範例輸入 #1

```
2
1
5
3
5
```
---

### 範例輸出 #1
```
Case 1: 9
Case 2: 8
```

---

### 解析
首先，題目要求的是a和b中間奇數的和。所以有最大值與最小值，根據輸入我們把a設成最小值b為最大值然後再設個T為資料數，然後再設一個變數sum用來儲存被加起來的數值。
```
int t,min,max,sum,i=0,j=0;
```
接著輸入測資數量
```
scanf("%d\n",&t);
```
然後輸入測資
**使用for迴圈輸入測資**
接著將sum這個變數設成0
```c=
for(i = 1;i <= t;i++){
        scanf("%d\n%d",&min,&max);
        sum=0;
```
下一步來計算sum的值。
**使用for迴圈來計算**
使用for迴圈因為for迴圈可以設定開始與結束。
把j的變數數值變成剛剛輸入進來的min，然後結束就是當j的值變成max的值就會結束。
接著判斷迴圈裡面的數值==也就是兩個數字的範圍裡的數==，使用%2來判斷，**因為奇數除以2的餘數都會是1**，所以當迴圈裡數字的餘數等於1時就把他家到sum裡。
```c=
for(j = min;j <= max;j++){
            if((j%2) == 1){
                sum = sum + j;
            }
        }
```
最後在print出來。
```c=
printf("Case %d: %d\n",i,sum);
```

最終程式碼
```c=
#include<stdio.h>

int main(){
    int t,min,max,sum,i=0,j;
    scanf("%d\n",&t);
    for(i = 1;i <= t;i++){
        scanf("%d\n%d",&min,&max);
        sum=0;
        for(j = min;j <= max;j++){
            if((j%2) == 1){
                sum = sum + j;
            }
        }
        printf("Case %d: %d\n",i,sum);
    }
    return 0;
}
```