1. 程式人生 > 實用技巧 >最小生成樹(基礎)

最小生成樹(基礎)

任務1

//ex1.cpp
#include<stdio.h>
int main(){
	int a=5, b=7, c=100, d, e, f;
	
	d=a/b*c;
	e=a*c/b;
	f=c/b*a;
	printf("d=%d, e=%d, f=%d",d,e,f);
	
	return 0;
} 

  

d=5/7*100,e=5*100/7,f=100/7*5

整形資料相除時會自動取整,導致運算出現誤差。

任務2

//ex2.cpp

#include<stdio.h>
int main(){
	int x=1234;
	float f=123.456;
	double m=123.456;
	char ch='a';
	char a[]="Hello,world!";
	int y=3, z=4;
	
	printf("%d %d\n", y, z);
	printf("y=%d, z=%d", y, z);
	printf("%8d,%2d\n", x, x);
	printf("%f, %8f, %8.1f, %.2f, %.2ef\n",f,f,f,f,f);
	printf("%lf\n",m);
	printf("%3c\n", ch);
	printf("%s\n%15s\n%10.5s\n%2.5\n%.3\n",a,a,a,a,a);
	
	return 0;
	}

  

格式字元:d:按十進位制整數輸出 f:按浮點數輸出 c:按字元輸出 s:按字串輸出 e:按指數形式輸出

修飾字符:m:輸出資料域寬,資料長度<m,左補空格;否則按實際輸出

如:對x的%8d,資料長度為4<8,所以左補四個空格;對x的%2d,資料長度為4>2,所以按實際輸出

.n:對實數,指定小數點後位數;對字串,指定實際輸出位數

如:對f的%.2f,指定f保留兩位小數點

任務3

//ex3.cpp
#include<stdio.h>
int main(){
    double x,y;
    char c1,c2,c3;
    
int a1,a2,a3; scanf("%d%d%d",&a1,&a2,&a3); printf("%d,%d,%d\n",a1,a2,a3); scanf("%c%c%c",&c1,&c2,&c3); printf("%c, %c, %c\n",c1,c2,c3); scanf("%lf%lf",&x,&y); printf("%.1lf, %.1lf\n", x, y); return 0; }

任務 // ex4.cpp

// 判斷字元型別 
#include <stdio.h>
int main() {
	char x;
	
	x = getchar();
	
	if(x>=48&&x<=57) // 判斷x是數字字元表示式 
		printf("%c是數字字元\n", x);
	else if(x>=65&&x<=90||x>=97&&x<=122) // 判斷x是大寫或小寫英文字母的表示式 
		printf("%c是英文字母\n", x);
	else
          printf("%c是其它字元\n", x);
	
	
	return 0;
} 

  

任務5

// ex5.cpp
#include <stdio.h>
int main() {
    char ans1, ans2;
    
    printf("複習了沒? (輸入y或Y表示複習了,輸入n或N表示沒複習) :  ");
    ans1 = getchar();  // 從鍵盤輸入一個字元,賦值給ans1
    
    getchar(); // 思考這裡為什麼要加這一行 
    
    printf("\n動手敲程式碼了沒? (輸入y或Y表示敲了,輸入n或N表示木有敲) :  ");
    ans2 = getchar();
    
    if((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y'))
        printf("\n羅馬不是一天建成的:)\n");    
    else
        printf("\n羅馬不是一天毀滅的。。。\n");

    return 0;
} 

任務六

//ex6.cpp
#include<stdio.h>
#include<math.h>
int main(){
    int n,sum;
     
    scanf("%d",&n);
    sum=pow(2,n)-1;
    printf("n=%d時,sum=%d",n,sum);
    return 0;
}