返回列表 發帖

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’

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

  1. ABADADAAAD
複製代碼

TOP

  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. }
複製代碼

TOP

本帖最後由 李知易 於 2025-3-8 15:51 編輯
  1. D B
  2. A
  3. D C
  4. A
  5. C B
  6. A
  7. B
  8. D B
  9. A
  10. A
複製代碼

TOP

  1. #include <bits/stdc++.h>
  2. using namespace std;

  3. int main()
  4. {
  5.     string str;
  6.     int al[26] = {10, 11, 12, 13, 14, 15, 16, 17, 34, 18, 19, 20, 21, 22, 35, 23, 24, 25, 26, 27, 28, 29, 32,  30, 31, 33};
  7.     while(cin >> str)
  8.     {
  9.         int sum = 0;
  10.         for(int i = 0; i < 8; i++)
  11.             sum += (str[i] - '0') * (8 - i);
  12.         //cout << sum;
  13.         for(int i = 0; i < 26; i++)
  14.         {
  15.             int alnum = (al[i] % 10) * 9 + (al[i] / 10) * 1;
  16.             //cout << char(i + 'A') << ":";
  17.             //cout << alnum << endl;
  18.             int k = (alnum + sum) % 10;
  19.             //cout << 10-k << endl;
  20.             int ans = 10 - k;
  21.             if(ans == 10)
  22.                 ans = 0;
  23.             if(ans == str[8] - '0')
  24.                 cout << (char)(i + 'A');
  25.         }
  26.         cout << endl;
  27.     }

  28. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int a[9];
  4. int s;
  5. int n=0;
  6. string str="0000000000ABCDEFGHJKLMNPQRSTUVXYWZIO";
  7. int main()
  8. {
  9.     while(cin>>s)
  10.     {
  11.         for(int i=8; i>=0; i--)
  12.         {
  13.             a[i]=s%10;
  14.             s/=10;
  15.         }
  16.         for(int i=0; i<8; i++)
  17.             n+=a[i]*(8-i);
  18.         for(int i=10; i<36; i++)
  19.         {
  20.             if(10-(((i%10)*9+(i/10)*1+n)%10)==a[8])
  21.                 cout<<str[i];
  22.             else
  23.                 continue;
  24.         }
  25.         cout<<endl;
  26.         n=0;
  27.     }
  28.     return 0;
  29. }
複製代碼

TOP

返回列表