160809209_李夢鑫_C語言程序設計實驗3 循環結構程序設計


《C語言程序設計》實驗報告

學  號

 160809209

姓  名

 李夢鑫

專業、班

計科16-2班

學    期

2016-2017 第1學期

指導教師

黃俊蓮 吉吉老師

實驗地點

C05

機 器 號

 

時    間

2016 10   13 日    6   周 周四  1、2

截至日期

2016.10.13 11:50

實驗任務清單

  1.   實驗3-1 分別使用while循環、do while循環、for循環求                                                                       (即求1+2+3+ ……+100)
  2.   實驗3-2分別使用while循環、do while循環、for循環求n!,其中n由鍵盤輸入。
  3. 實驗3-3 求      。
  4.   實驗3-4輸入一行字符,分別統計出其中的英文字母、空格、數字和其他字符的個數。
  5.   實驗3-5輸入兩個正整數m和n,求其最大公約數和最小公倍數。
  6.   實驗3-6輸出所有的“水仙花數”,所謂“水仙花數”是指一個3位數,其各位數字的立方和等於該數本身。例如:153是一個水仙花數,因為153=13+53+33

教師評語

 

成績

 

           

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                                                           實驗3  循環結構程序設計

 

實驗3-1 分別使用while循環、do while循環、for循環求                         (即求1+2+3+ ……+100)。
 
源碼:

#include<stdio.h>
int main()
{
    int i,sum=0;
    sum=0;
    for(i=1;i<=100;i++)
    sum+=i;
    printf("sum=%d\n",sum);
    return 0;
}

 

運行結果抓圖

 


 
  
  
  
  
  
  
  
  
  
  
  
  
 
 
 


 

 

 

實驗3-2分別使用while循環、do while循環、for循環求n!,其中n由鍵盤輸入。

提示:

  1. 依照實驗3-1求n!,其中n!=1*2*3……*n

 

源碼

 

#include<stdio.h>
int main(){
    int n,i,jiec=1;
    printf("請輸入一個整數n:");
    scanf("%d",&n);
    i=n;
    while(i>1){
        jiec=jiec*i;
        i--;
    }
    printf("%d!=%d\n",n,jiec);
    
    return 0;
}

 


 
  

 


  
  
  
  
  
  
  
  
  
  
  
 
 
 


 

 

實驗3-3 

程序源碼

#include<stdio.h>
int main()
{
    int k,sum=0;
    for(k=1;k<=100;k++)
        sum+=k;
    printf("sum=%d\n",sum);
    
    for(k=1;k<=50;k++)
        sum=sum+k*k;
    printf("sum=%d\n",sum);
    
    for(k=1;k<=10;k++)
        sum=sum+1.0/k;
    printf("sum=%d\n",sum);

    return 0;
}


 
  

 


  
  
  
  
  
  
  
  
  
  
  
 
 
 


實驗3-4輸入一行字符,分別統計出其中的英文字母、空格、數字和其他字符的個數。

 

實驗提示 :

  
  
  
  
  
  
  
  
 
 
 


程序源碼

 

#include<stdio.h>
int main()
{
    char c;
    int zm=0,sz=0,kg=0,qt=0;
    while((c=getchar())!='\n'){
        if(c>='a'&&c<='z'||c>='A'&&c<='Z')
            zm++;
        else if(c==' ')
            kg++;
        else if(c>='0'&&c<='9')
            sz++;
        else
        qt++;
    }
    printf("字母個數;%d\n",zm);
    printf("空格個數;%d\n",kg);
    printf("數字個數;%d\n",sz);
    printf("其他個數;%d\n",qt);
    return 0;
}

 


 

 


  
  
  
  
  
  
  
  
  
  
  
  
 
 
 


 

 

實驗3-5輸入兩個正整數m和n,求其最大公約數和最小公倍數。

 

程序源碼

#include<stdio.h>
int main()
{
    int m,n,t,i,gys=1,gbs;
    printf("請輸入兩個整數;");
    scanf("%d%d",&m,&n);
    if(n>m){
        t=m;
        m=n;
        n=t;    
    }
    for(i=n;i>=1;i--)
        if(m%i==0&&n%i==0)
            break;
        printf("m=%d,n=%d",m,n);
    if(i!=0){
        gys=i;
        printf(",最大公約數為;%d\n",gys);
    }
        gbs=m*n/gys;
        printf("最大公倍數為;%d\n",gbs);
    return 0;
}


 
  

 


  
  
  
  
  
  
  
  
  
  
  
 
 
 


 

實驗3-6 輸出所有的“水仙花數”,所謂“水仙花數”是指一個3位數,其各位數字的立方和等於該數本身。例如:153是一個水仙花數,因為153=13+53+33

 

程序源碼

#include<stdio.h>
int main()
{
    int n,k1,k2,k3;
    for(n=100;n<=999;n++){
        k1=n%10;
        k2=n/10%10;
        k3=n/100;
        if(n==k1*k1*k1+k2*k2*k2+k3*k3*k3)
            printf("%d\n",n);
    }
    return 0;
}


 
  
  
  

 


  
  
  
  
  
  
  
  
  
 
 
 


                                                                                   實驗心得

     第一題還算簡單就當是練練手,回憶了一下循環結構的基礎形式,然后第二題就出現了賦值和階乘,思考了一下然后加上老師的指導順利完成,第三題就是復雜了一點但是還算簡單,可以理解。第四題循環結構復雜了一點但是理解了很容易,第五題的最大公約數,最小公倍數的公式和表達方式忘記了,經過老師的幫助和講解終於明白了,雖然有點復雜但是還算可以理解,最后一題經過老師的舉例講解也順利完成了。希望自己下次更能快速的完成,迅速理解,繼續努力。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM