網頁

2009年4月13日 星期一

程式設計練習題

1 使用C/C++程式中迴圈(for, while 或者do/while)計算算式,並含完整程式碼, 流程圖!

S = 1 × 2 × 3 + 2 × 3 × 4 + · · · + 100 × 101 × 102


2 請問下列程式片段之輸出!要加上什麼才能成為完整程式碼?
int x=5,y=3,z,w;
x-=2;
cout<<++x<<endl;
z=y++;
cout<<z<<endl;
cout<<y<<endl;
w=--z;
cout<<z<<endl;
cout<<(w<<3)<<endl;
for(x=10;x>=6;x--){
    if (x%2==1)
       continue;
    cout<<x<<endl;
    if (x==7) break;
};
cout<<x<<endl;


3 下列程式片段之輸出!並補上標頭檔

int main(){
    int j=2;
    int i=0xc;
   double E=2.7182818284590;
   printf("[%-5d]\n",i);
   printf("[%3x]\n",i);
   printf("[%3d]\n",j);
   printf("[%d]\n",sizeof(E));
   printf("[%-16.10f]\n",E);
   printf("[%f]\n",E);
   system("PAUSE");
   return 0;
}


4 下列程式片段之輸出!並用if-else改寫!流程圖為何?

int i;
for (i=0;i<7;i++)
{
   switch(i){
      case 0:
      printf("i=%d\n",i);break;
      case 1:
      printf("i=%d\n",i);break;
      case 2:
      printf("i=%d\n",i);break;
      default:
      printf("i>2\n");break;
   };
};
printf("i=%d\n", ++i);


5 下列C/C++程式之輸出!並
改寫主程式使其輸出為:
@@@@@
   @@@
      @
#include <iostream>
using namespace std;
void prCh(char ch, int rows);
int main(){
   for(int i=1;i<5;i++){
      prCh('A',i-1);
      prCh('B',i);
      cout<<endl;
   }
   cin.get();
   return 0;
}
void prCh(char ch, int rows){
   for (int i=rows;i>=1;i--){
      cout<<ch;
   }
}


6 已知20以下的質數,也知道測試400以下是否為質數的函數,請寫出C/C++程式列出
所有20<=x<=400 AND x%4==1的質數
int Prime[]={2,3,5,7,11,13,17,19,23};
bool isPrimebelow400(int n)
{
   int n_sqrt=(int)sqrt(n);
   for (int i=0; Prime[i]<=n_sqrt; i++)
   {
      if (n%Prime[i]==0 && n>Prime[i])
         return 0;
   }
   return 1;
}

4 則留言:

  1. #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int i,s;
        for(i=1;i<=100;i++)
            s+=i*(i+1)*(i+2);
        printf("%d",s);
        system("pause");
        return 0;
    }

    回覆刪除
  2. #include <cstdlib>
    #include <iostream>
    using namespace std;
    int main()
    {
    int x=5,y=3,z,w;
    x-=2;
    cout<<++x<<endl;
    z=y++;
    cout<<z<<endl;
    cout<<y<<endl;
    w=--z;
    cout<<z<<endl;
    cout<<(w<<3)<<endl;
    for(x=10;x>=6;x--)
    {
        if (x%2==1)
           continue;
        cout<<x<<endl;
        if (x==7) break;
    };
    cout<<x<<endl;
    system("pause");
    return 0;
    }

    回覆刪除
  3. #include <stdio.h>
    #include <stdlib.h>
    int main()
    {   
       int j=2;
       int i=0xc;
       double E=2.71828182845900;
       printf("[%-5d]\n",i);
       printf("[%3x]\n",i);
       printf("[%3d]\n",j);
       printf("[%d]\n",sizeof(E));
       printf("[%-16.10f]\n",E);
       printf("[%f]\n",E);
       system("pause");
       return 0;
    }

    回覆刪除
  4. #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    int i;
    for (i=0;i<7;i++)
    {
          if(i==0)
          {
          printf("i=%d\n",i);
          }
          else if(i==1)
          {
          printf("i=%d\n",i);
          }
          else if(i==2)
          {
          printf("i=%d\n",i);
          }
          else
          {
          printf("i>2\n",i);
          }
    };
    printf("i=%d\n", ++i);
    system("pause");
    return 0;
    }

    回覆刪除

HTML 編輯器