c++ 學習筆記
阿新 • • 發佈:2020-10-29
任務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; charch='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; }