1. 程式人生 > 實用技巧 >c++ 學習筆記

c++ 學習筆記

任務1

#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\n",d,e,f);
    return 0;
    
}

d=ac/b e=aac/b f=ca/b

a,b,c均為整型,a/b結果為0,c/b與a*c/b的結果必須為整型,無法保留小數。

任務2

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\n",y,z); printf("%8d,%2d\n",x,x); printf("%f,%8f,%8.1f,%0.2f,%.2e\n",f,f,f,f,f); printf("%lf\n",m); printf("%3c\n", ch); printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a); return 0; }

line12:%d意思是將y與z按照整型輸出

line13:%d前加y=則輸出時資料前也附帶y=

line14:d前加8則意味著輸出資料寬度為8,左面補足空位,%2d則因為原資料為四位所以以原資料輸出

line15:%f意思是資料按單精度浮點型常量輸出,%8f表示輸出資料寬度為8,%8.1d表示輸出資料寬度為8,精度為0.1,%0.2f表示資料保留兩位小數,%。2e表示資料以指數形式輸出,保留兩位小數

line16:%ld表示輸出資料精度為double型

line17:%3c表示資料輸出型別為字元型,寬度為3,左補空位

line18:%s表示資料以字串輸出,%15s表示輸出資料寬度為15,左補空位,%10.5s表示輸出資料寬度為10,輸出前5個字串,%2.5s表示輸出資料寬度為2,取前五個字串,但原資料寬度大於2所以只輸出前五個字串,%.3s表示輸出資料前三個字串

任務3

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("%f,%lf\n",x,y);
    return 0;
}

任務4

#include<stdio.h>
int main(){
    char x;
    x=getchar();
    if(x>='0'&&x<='9')
    printf("%c是數字字元\n",x);
    else if(x>='A'&&x<='Z'||x>='a'&&x<='z')
    printf("%c是英文字母\n",x);
    else
    printf("%c是其他字元\n",x);
    return 0;
} 

任務5

#include <stdio.h>
int main(){
    char ans1,ans2;
    printf("複習了沒?(輸入y或Y表示複習了,輸入n或N表示沒複習):");
    ans1=getchar();
    
    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;
} 

任務6

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