Board logo

標題: 2025/02/22 課堂重點(紘鳴) [打印本頁]

作者: 李知易    時間: 昨天 00:52     標題: 2025/02/22 課堂重點(紘鳴)

本帖最後由 李知易 於 2025-2-22 15:47 編輯

今日上課重點(週六15:30 - 17:00)
a038. 數字翻轉
f637. DF-expression
e307. 請讓我留在你的回憶裡

本帖隱藏的內容需要回復才可以瀏覽

觀念題(回家作業):
c091
變數 math 和 engl 中存放了兩門課的成績。若兩門課成績均在 60 分以上(含 60),則顯示“pass”;有一門低於 60 分則顯示“fail”,以下不能實現上述功能的程式段是
(A)
if(math<60)
    if(engl<60)
        printf(“fail\n”);
    else
        printf(“pass\n”);
(B)   
if(math<60)
    printf(“fail\n”);
else if(engl>=60)
    printf(“pass\n”);
else
    printf(“fail\n”);
(C)
if ((math<60) ||(engl<60))
    printf(“fail\n”);
else
    printf(“pass\n”);
(D)
if ((math>=60) && (engl>=60))
    printf(“pass\n”);
else
    printf(“fail\n”);

c092
以下程式擬實現計算 s=1 + 22 + 33 + … + nn +…,直        到 s>1000 為止。
#include <stdio.h>
main( ) {
    int s,n;
    s=1;
    n=1;
    do{
        n=n+1; s=s+nn;
    }while(s>1000);
    printf(“s=%d\n”,s);
}
程式運行後,不能得到正確結果,以下修改方案正確的是
A)        把 s=1; 改為 s=0;
B)         把 while(s>1000); 改為 while(s<=1000);
C)        把 n=1; 改為 n=0;
D)        把 n=n+1; 改為 n=n*n;




c093
有以下程式
#include <stdio.h>
main( )
{
    int m,n;
    scanf("%d%d", &m,&n);
    while(m!=n){
        while(m>n){
            m=m-n;
        }
        while(n>m) {
            n=n-m;
        }
    }
    printf("%d\n",m);
}
該程式的功能是
A)        計算 m 和 n 的最大公約數
B)        計算 m 和 n 的最小公倍數
C)        計算 m 和 n 的差值
D)        找出 m 和 n 中的較大值

c094
以下程式擬實現計算 sum=1+1/2+1/3+ … +1/50 。
#include <stdio.h>
main( )
{
    int i;
    double sum;
    sum=1.0;
    i=1;
    do{
        i++; sum += 1/i;
    }while( i<50 );
    printf(“sum=%lf\n”,sum);
}
程式運行後,不能得到正確結果,出現問題的語句是
A)         i++;
B)        while(i<50);
C)        sum = 1.0;
D)        sum += 1/i;


c095
若有以下程式
#include <stdio.h>
main()
{
    char a=‘5’, b;
    a++;
    printf("%d,%d\n", a-‘5’+255, b=a- ‘5’);
}
執行後的輸出結果是
A)        256,1
B)        1,256
C)        255,1
D)        256,0

c096
有以下程式
#include <stdio.h>
main( )
{
    int a=1,b=2,c=3,d=4, r=0;
    if (a!=1)
        r=1;
    if (b= =2)
        r=2;
    else if (c!=3)
        r=3;
    else if (d= =4)
        r=4;
    printf("%d\n", r);
}
執行後的輸出結果是
A)        0
B)        4
C)        1
D)        2


c097
有以下程式段
int s, n;
s=1;
for( n=10; n>0; n-- )
    s+=n;
該程式段擬實現整數 1~10 的累加求和,但程式中有錯誤。以下 4種修改方案中仍然錯誤的一個是
A)        將 for 迴圈改為 for(n=2;n<10;n++)
B)        將 for 迴圈改為 for(n=10;n>1;n–)
C)        將 for 迴圈改為 for(n=10;n>=2;n–)
D)        將 s=1; 改為 s=0;


c098
以下關於迴圈語句的敘述中正確的是
A)        do-while 語句的循環體至少執行一次
B)        while 語句的循環體至少執行一次
C)        for 語句的循環體至少執行一次
D)        上述 A、B、C 說法均正確


c099
有以下程式
#include <stdio.h>
main( )
{
     int a=7, b=0;
    do {
        b += a;
        a -=1;
    } while ( a-- ) ;
    printf( “%d,%d\n”, b, a );
}
執行後的輸出結果是
A)         16,0
B)        28,1
C)         16,-1
D)        28,0

c100
以下選項中不屬於 C 語言字元常量的是
A)         ‘a’
B)        ’\n’
C)         ‘\xah’
D)        ’\007’

本帖隱藏的內容需要回復才可以瀏覽

作者: 張紘鳴    時間: 昨天 15:48

  1. ABADADAAAD
複製代碼

作者: 李知易    時間: 昨天 17:01

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     int n;
  6.     while(cin >> n && n != 0)
  7.     {
  8.         int sum = 0;
  9.         int c[10000] = {0};
  10.         while(c[n] == 0)
  11.         {
  12.             c[n]++;
  13.             sum++;
  14.             n = (n * n) / 100 % 10000;
  15.         }
  16.         cout << sum << endl;
  17.     }
  18.     return 0;
  19. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2