2014年5月4日 星期日

(綠色皮) 最新C程式語言, 施威銘研究室 著, 旗標 第十章 '參考' 答案

==============================================
/* 程式檔名:test_10-51-1.c*/
/* 程式目的:將一維陣列放入1~10的整數並計算每個陣列元素的平方和*/
/* 程式設計:蘇彥儒*/
/* 完成日期:20140427*/
#include <stdio.h>

int main(void)
{
    int array[10];
    int i;
    for(i=1;i<=10;i++)
    {
     array[i]=i*i;                        
    }
    for(i=1;i<=10;i++)
    {
     printf("array[%d]=%d\n",i,array[i]);              
    }
    system("pause");
    return 0;
 
}
==============================================
/* 程式檔名:test_10-51-2.c*/
/* 程式目的:將一維陣列放入a~z然後反向的順序從螢幕輸出*/
/* 程式設計:蘇彥儒*/
/* 完成日期:20140427*/
#include <stdio.h>

int main(void)
{
    char array[26];
    int i;

    for(i=0;i<26;i++)
    {
     array[i]=i+97;
     printf("%c ",array[i]);                
    }
     printf("\n");     
    for(i=26;i>=0;i--)
    {
     printf("%c ",array[i]);                
    }
    system("pause");
    return 0;
    
}
==============================================
/* 程式檔名:test_10-51-3.c*/
/* 程式目的:宣告兩個整數類型的一維陣列 其中一個設定初始值 然後將此陣列的值拷貝到另一個陣列*/
/* 程式設計:蘇彥儒*/
/* 完成日期:20140427*/
#include <stdio.h>

int main(void)
{
    int array[1]={123};
    int array1[1];
    array1[0]=array[0];
    printf("%d \n",array1[0]);       
    system("pause");
    return 0;
    
}
==============================================
/* 程式檔名:test_10-51-4.c*/
/* 程式目的:從鍵盤輸入10個浮點數 計算平均值*/
/* 程式設計:蘇彥儒*/
/* 完成日期:20140427*/
#include <stdio.h>

int main(void)
{
    float array[10],avg=0;
    int i;
    for(i=0;i<10;i++)
    {
     printf("請輸入10個浮點數:");   
     scanf("%f",&array[i]);   
     avg=avg+array[i];
    }
    printf("%f",avg/10);
    system("pause");
    return 0;
    
}
==============================================
/* 程式檔名:test_10-52-5.c*/
/* 程式目的:計算兩個骰子投擲100次 號碼 2~12出現的機率*/
/* 程式設計:蘇彥儒*/
/* 完成日期:20140427*/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>     

#define myrandom() srand((unsigned)time(NULL)) //取得系統時間為亂數種子 
#define SIZE 12
int main(void)
{
    int dice[SIZE]={0};                       
    int i,go,point;
    
    myrandom();                                                                                         
    printf("請輸入骰子投骰次數:\n");
    scanf("%d",&go);
    for(i=0;i<go;i++)
    {   
     point=rand()%12+1;                       
     dice[point-1]++;    
     if(point==1)
     {
      i--;
     }                         
    }
    for(i=1;i<SIZE;i++)
    { 
     printf("點數 %d 出現機率 %d%%\n",i+1,dice[i]);
    }
    system("pause");
    return 0;
    
}
==============================================
/* 程式檔名:test_10-52-6.c*/
/* 程式目的:陣列A減B的值*/
/* 程式設計:蘇彥儒*/
/* 完成日期:20140427*/

#include <stdio.h>
#define ROW 3
#define COL 4 
int main(void)
{
    int A[ROW][COL]={18,44,21,25,
21,19,65,41,
78,21,33,54};
    int B[ROW][COL]={65,32,45,74,
11,24,10,41,
12,45,18,11};
int C[ROW][COL];
int i,j;

    for(i=0;i<ROW;i++)
{
for(j=0;j<COL;j++)
{
printf("%3d",A[i][j]);
}
if(i==1)
printf("  -  ");
else
printf("     ");
for(j=0;j<COL;j++)
{
printf("%3d",B[i][j]);
}
if(i==1)
printf("  =  ");
else
printf("     ");
for(j=0;j<COL;j++)
{
C[i][j]=A[i][j]-B[i][j];
printf("%3d",C[i][j]);
}
printf("\n");
}

    
    system("pause");
    return 0;
    
}
==============================================
/* 程式檔名:test_10-52-7.c*/
/* 程式目的:陣列A減B的值*/
/* 程式設計:蘇彥儒*/
/* 完成日期:20140427*/

#include <stdio.h>
#include <string.h>
#define ROW 5
#define COL 7 
int main(void)
{
    char dan[][7]={"一","二","三","四","五","六","日"};
    int A[ROW][COL]={31,1,2,3,4,5,6,
                     7,8,9,10,11,12,13,
                     14,15,16,17,18,19,20,
                     21,22,23,24,25,26,27,
                     28,29,30};  
    int i,j;    
   
    for(i=0;i<=6;i++)
    {
     printf("星期%s  ",dan[i]);              
    }
     printf("\n");    
    
    for(i=0;i<5;i++)
    {
     for(j=0;j<7;j++)
     {
        if(A[i][j]==0)
        {
         continue;
        }
        printf("    %d\t",A[i][j]);
        
        if(j==6)
        {
         printf("\n");        
        }                      
     }
    }
    printf("\n");
    system("pause");
    return 0;
    
}
==============================================
/* 程式檔名:test_10-52-8.c*/
/* 程式目的:請用亂數產生10組號碼 再利用氣泡排序法以降冪方式排列*/
/* 程式設計:蘇彥儒*/
/* 完成日期:20140427*/

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>     
int main(void)
{
                      
    int i,j;
    int array[10],temp;
    for(i=1;i<=10;i++)
    {
     array[i]=rand(); 
     for(j=i+1;j<=10;j++)
     {        
         if(array[i]<array[j])
         {
          temp=array[i];
          array[i]=array[j];
          array[j]=temp;                  
         }      
     }
    }
    for(i=1;i<=10;i++)
    {
     printf("%d\n",array[i]);   
    }
    system("pause");
    return 0;
    
}

==============================================
/* 程式檔名:test_10-52-9.c*/
/* 程式目的:請宣告二維陣列 並存入數字 然後利用函式 來找出陣列中的最大值與最小值*/
/* 程式設計:蘇彥儒*/
/* 完成日期:20140427*/

#include <stdio.h>
#include <stdlib.h>
#define ROW 2
#define COL 3   

void maxout(int [ROW][COL]);

int main(void)
{
                      
    
    int array[ROW][COL]={51,21,32,
                         44,1,12};
    maxout(array);
   
    system("pause");
    return 0;   
}

void maxout(int max[ROW][COL])
{
    int i,j,MAX=0,min;
    for(i=0;i<2;i++)
    {
         for(j=0;j<3;j++)
         {
              if(max[i][j]>MAX) 
              {
               MAX=max[i][j];
              }
              if(max[i][j]<min)
              {
               min=max[i][j];
              }                  
         }                  
    }
    printf("最大值:%d ",MAX);
    printf("最小值:%d ",min);
    
}
==============================================
/* 程式檔名:test_10-52-10.c*/
/* 程式目的:在一陣列中存入6個字元密碼第一個正確才能輸入第二個每個字只能有三次輸入的機會*/
/* 程式設計:蘇彥儒*/
/* 完成日期:20140427*/

#include <stdio.h>
#include <string.h>

int main(void)
{
  char cartag[6]={'A','A','0','0','0','0'};

  char search[6];
  int flag=0,i=1;
  
  do
  {
      printf("請輸入第 %d 個密碼:",flag+1);
      scanf("%s",&search[flag]);
      if(cartag[flag]==search[flag])
      {
       printf("輸入正確\n");
       flag++;
       i=1;
       if(flag==6)
       {
        printf("密碼全部正確\n");
        break;       
       }       
      } 
      else
      {
       printf("輸入錯誤\n");
       printf("請重新輸入 %d次\n",i++);
       if(i>3)
       {
        printf("輸入超過三次");
        break;       
       }
      } 
      
  }while(1);
  

  system("PAUSE");
  return 0;
}
==============================================

1 則留言:

  1. 最近剛好在讀這本書 感謝你釋出解答~~ 找很久呢!!

    回覆刪除