2012年2月12日 星期日

[C/C++基礎]- 某夜二技期末考考題 (1、4、5)解答

 [C/C++基礎]- 某夜二技期末考考題 (145)解答



本篇要分享某夜二技期末考考題(145)解答,有興趣的(C/P)同好,歡迎來(C/P)一下 ^ ^




某夜二技期末考考題  


 


 












Ch1-程式碼



#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(int argc, char *argv[])

{

    int i,j;

    char chrfilename[100];

    char chrData[100];

    char chr1;

    FILE *pf;

    int check[9];

    printf("請輸入檔名\t");

    scanf("%s",chrfilename);

    pf=fopen(chrfilename,"r");

    while(!feof(pf))

    {

      for(i=0;i<9;i++)

        check[i]=0;

      chrData[0]='\0';

      fgets( chrData ,100,pf );

      if(strlen(chrData)>9)

        chrData[strlen(chrData)-1]='\0'; //去除換行

      if(strlen(chrData)>=8)

      {

         printf("%s ->",chrData);

         for(i=0;i<9;i++)

         {

            chr1=chrData[i];

            j=chr1;

            if(j>48&&j<58)

            {

              check[(j-48-1)]=1;

            }

            else

            {

                printf("%c",chr1);

            }//if(j>48&&j<58)

         }//for(i=0;i<8;i++)

         for(i=0;i<9;i++)

         {

            if(check[i]==0)

            {

              printf("%d\n",(i+1));

              break;

            }

         }//for(i=0;i<9;i++)

      }//if(strlen(chrData)>=8)

    }//while(!feof(pf)) 

  system("PAUSE");    

  return 0;

}


 












Ch4-程式碼



#include <stdio.h>

#include <stdlib.h>

 

int main(int argc, char *argv[])

{

  int i,j;

  int intinput=0;

  printf("請輸入1~16的整數\t");

  scanf("%d",&intinput);

  if((intinput<=16)&&(intinput>0))

  {

      printf("您輸入的數字=%d\n",intinput);

      printf("/");

      for(i=0;i<intinput;i++)

      {

        if(intinput<10)

         printf("-");

        else

         printf("--");

        

      }

      printf("\\");

      printf("\n");

      ////////////////////////////////////////

      for(i=0;i<intinput;i++)

      {

        printf("|");

        if((i==0)||(i==(intinput-1)))

        {

          for(j=0;j<intinput;j++)

          {

            printf("%d",intinput);

          }

        }

        else

        {

          for(j=0;j<intinput;j++)

          {

            if((j==0)||(j==(intinput-1)))

            {            

              printf("%d",intinput);

            }

            else

            {

              if(intinput<10)

              {

                printf(" ");

              }

              else

              {

                printf("  "); 

              } 

            }

          }

        }

        printf("|");

        printf("\n");     

      }  

      ////////////////////////////////////////      

      printf("\\");

      for(i=0;i<intinput;i++)

      {

        if(intinput<10)

         printf("-");

        else

         printf("--");

      }

      printf("/");

      printf("\n");                       

  }

  else

  {

      printf("您輸入的數字錯誤不在範圍內,程式將關閉\n");

  }

                  

  system("PAUSE");    

  return 0;

}


 












Ch5-程式碼



#include <stdio.h>

#include <stdlib.h>

#include <math.h>//引用數學函式庫

 

int main(int argc, char *argv[])

{

  float fltPI;//系統的PI定義

  float fltpi=3.14;//自己的PI定義

  float fltinput=0;//接收存放變數

  float flt_r01=0;//半徑1 

  float flt_r02=0;//半徑2

  float flt_2r01=0;//直徑1 

  float flt_2r02=0;//直徑2

  fltPI=4*atan(1);//atan(1)=PI/4 

  printf("請輸入圓的半徑或直徑\t"); 

  scanf("%f",&fltinput); 

  flt_r01=fltinput;//半徑1 

  flt_2r01=fltinput*2.0;//直徑1 

  flt_r02=fltinput/2.0;//半徑2

  flt_2r02=fltinput;//直徑2

  

  printf("若您剛才輸入為半徑=%f\n",flt_r01); 

  printf("則該圓的直徑為=%f\n",flt_2r01);

  printf("則該圓的周長為=%f\n",(2*fltpi*flt_r01));

  printf("則該圓的面積為=%f\n",(flt_r01*flt_r01*fltpi));

  printf("===============================================\n"); 

  printf("若您剛才輸入為直徑=%f\n",flt_2r02);

  printf("則該圓的半徑為=%f\n",flt_r02); 

  printf("則該圓的周長為=%f\n",(2*fltpi*flt_r02));

  printf("則該圓的面積為=%f\n",(flt_r02*flt_r02*fltpi));

  printf("===============================================\n"); 

  printf("以上計算的圓週率定義為=%f\n",fltpi);

  printf("C語言的圓週率定義為=%f\n",fltPI);

  printf("系統圓周率和自行定義的誤差=%f\n",(fltPI-fltpi));

  system("PAUSE");    

  return 0;

}

 



 


沒有留言:

張貼留言