iT邦幫忙

0

想請教C語言的問題

  • 分享至 

  • xImage

這次問題可能比較多一點有三題,但寫起來是覺得卡卡的
1.使用while撰寫一個程式,當輸入一個0~9之間的整數時,印出所有小於等於100這個整數的倍數。
Please enter an integer: 8
8 16 24 32 40 48 56 64 72 80 88 96

2.使用for撰寫一個程式,可以算出全班平均成績至小數第二位,第一個輸入總共要計算
幾位同學的成績,接著依序輸入每位同學的成績直到達到預設的數量並完成平均成績的
計算。
螢幕輸出如下:
please enter number of grade : 5
50 90 80 70 60
The average is 70.00

3.請撰寫一個終極密碼程式,遊戲關主先輸入一個0~100之間的整數作為終極密碼,接著玩遊戲的人一直輸入0~100之間的整數,直到猜對為止,若輸入超出範圍的數字必需要求使用者重新輸入,使用者每輸出一個數字必需提醒使用者此終極密碼比輸入的數字大還是小。螢幕輸出如下:
Please enter a target number: 45
Please enter a guessing number : 50
The target number is less than the guessed number
Please enter a guessing number : -10
Error guessing number!
Please enter a guessing number : 40
The target number is greater than the guessed number
Please enter a guessing number : 45
Congratulation! You got it.

第一題寫一部分是,但還在研究架構XD
#include <stdio.h>

int main() {
printf("please enter 0-9 :\n");
int t = 1;
while(i<=100)
  {
  if((i%t)==0)
   printf("%d",t);
  i+=t;
  }
return 0;
}

看更多先前的討論...收起先前的討論...
KYCPG iT邦新手 4 級 ‧ 2020-08-13 18:07:26 檢舉
未看先猜,等等會有人回答樓主,作業自己餵狗找答案
glj8989332 iT邦研究生 4 級 ‧ 2020-08-13 18:47:22 檢舉
自己的作業自己寫. 其實要問也可以, 只是好歹先寫過一套有BUG但自己找不到BUG的完整程式碼.... 而且仔細看題目, 怎覺得前幾天也有人問過同樣的...?
wrxue iT邦好手 1 級 ‧ 2020-08-13 18:55:21 檢舉
這是請教嗎
上一篇海綿大教你匡程式碼你好像沒學起來
archer9080 iT邦研究生 4 級 ‧ 2020-08-14 09:19:40 檢舉
也都是從學生一步一步過來的,也懂得學生的惰性
伸手要答案跟上一篇以互動方式學得方法,個人還是比較建議後者
第一題卡卡的沒關係,第二題還是卡卡的沒關係
從上一篇來看,if else的用法及邏輯雖然還不至很熟練
但用在這篇的第三題中應該還是綽綽有餘 ( ?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
微甜的酸
iT邦新手 2 級 ‧ 2020-08-14 04:56:57

你的"number"前面沒有加冠詞,"number"為一個可數名詞,且此時"number"為非指定,取兩者之交集,唯一滿足兩者的只有"a"。故,在"number"前加個"a"。
(很重要嗎 @@?直接給code >w<)

第一題:

#include <iostream>

using namespace std;

int main()
{
    int n;
    cout<<"Please enter a number 0-9 :\n";
    cin >> n;
    for(int i=1;i <= n;i++){             //用for會從1開始的特性
        cout<< i*i <<" ";                //平方
    }
    return 0;
}

第二題:

#include <iostream>

using namespace std;

int main()
{
    int a, b, i = 0, sum=0;     //連續宣告 使用while前皆須宣告其條件變數
    cout << "Please enter a number of grade : ";
    cin >> a;
    while(i < a){               //用while使i不為區域變數,就不用多寫一個計數器
        i++;                    //你管我寫在前面還後面
        cin >> b;
        sum = sum + b;          //輸入後,丟進sum存入b的值
    }
    cout << "The average is " << sum/i;
}

第三題:

#include <iostream>

using namespace std;

int main()
{
    int target, guessed;
    cout << "Please enter a target number : ";
    cin >> target;
    while(1) {
        cout << "Please enter a guessed number : ";
        cin >> guessed;
        if(guessed<0 or guessed>100) {
            cout << "The number you guessed is invalid!\n";
        }
        else {
            if(target < guessed) {
                cout << "The target number is lower than the guessed number\n";
            }
            else if(target > guessed) {
                cout << "The target number is higher than the guessed number\n";
            }
            else {
                cout << "Congratulation! You got it.";
                return 0;
            }
        }
    }

}
看更多先前的回應...收起先前的回應...

建議修改一下第1題
題目是小於100的倍數而不是平方
以題目舉的例子8
答案是8*1, 8*2, 8*3, .., 8*12
/images/emoticon/emoticon41.gif

archer9080 iT邦研究生 4 級 ‧ 2020-08-14 09:28:55 檢舉

我以為是樓主挖的陷阱XD

還故意不用 while 第二題故意也不用 for XD

完了 被發現我都沒在看題目
我是真的沒看到QwQ
也沒有故意XD 因為我都不管題目的,下意識就這樣打

我要發表回答

立即登入回答