實驗2與實驗3(T-T)
阿新 • • 發佈:2020-12-29
實驗2
實驗任務一
//ex1.cpp #include <stdio.h> #include<stdlib.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); system("pause"); return 0; }
運算子*的優先順序為2,運算子/優先順序為3,先運算*(此為用VS2010敲的程式碼,之後為DEV C++)
實驗任務2
//ex2.cpp#include<stdio.h> #include<stdlib.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\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); system("pause"); return 0; }
ex3.cpp
//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("%f,%lf\n",x,y); return 0; }
ex4.cpp
//ex4.cpp #include<stdio.h> int main(){ char x; x=getchar(); if(x>='0'&&x<'9') printf("%c是數字字元\n"); else if(x>='A'&&x<='Z'||x>='a'&&x<='z') printf("%c是英文字母\n",x); else printf("%c是其他字元\n",x); return 0; }
ex5.cpp
//ex5.cpp #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=='n'||ans2=='N') printf("\n羅馬不是一天建成的:)"); else printf("\n羅馬不是一天毀滅的。。。\n") ; return 0; }
ex6.cpp
//ex6.cpp #include<stdio.h> #include<math.h> int main(){ const int x=2; int sum; double n; printf("請輸入一個1~10的n:\n"); scanf("%lf",&n); sum=1*(1-pow(x,n+1))/(1-x); printf("n=%lf,sum=%d",n,sum); return 0; }
任務六為請教同學所作。
任務七暫時不會。
實驗3
ex1.cpp
//一元二次方程求解 //重複執行,直到按Ctrl+Z結束 // #include <math.h> #include <stdio.h> int main(){ float a, b, c, x1, x2; float delta, real, imag; printf("Enter a, b, c:"); while(scanf("%f%f%f", &a, &b, &c)!=EOF){ if(a==0) printf("not quadratic equation.\n\n"); else { delta = b*b-4*a*c; if(delta >= 0){ x1 = (-b + sqrt(delta))/(2*a); x2 = (-b - sqrt(delta))/(2*a); printf("x1 = %.2f,x2 = %.2f\n\n", x1, x2); } else { real = -b/(2*a); imag = sqrt(-delta)/(2*a); printf("x1 = %.2f + %.2fi, x2 = %.2fi\n\n",real,imag,real,imag); } } printf("Enter a, b, c:"); } return 0; }
ex2,cpp
//生成N個0~9之間的隨機整數,並列印輸出 #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 5 int main(){ int x,n; srand(time(0)); n = 0; do{ n++; x = rand()%10; printf("%3d",x); }while(n<N); printf("\n"); return 0; }
ex3.cpp
#include <stdio.h> #include <stdlib.h> #include <math.h> int main(){ int m,n; int i=0; for(m=101;m<=200;m++) { for(n=2;n++;n<=m) { if(m%n==0)break;} if(n>=m) { printf("%5d",m); i++; if(i%5==0)printf("\n"); } } printf("\n"); printf(" 101~200之間有%d個素數\n",i); return 0; }
ex4.cpp
演算法思路:
輸入整型數字除10取出,取出後與2取餘判斷是否為奇數。
排序按照先後順序乘10的幾次方,第n次取得的數乘n-1次方,以此類推。
#include<stdio.h> #include<math.h> int main () { long x,y,z; printf("Enter a number:"); while(scanf("%ld",&x)!=EOF) { long i=0,z=0; while(x>0) { y=x%10; if(y%2!=0) { z=z+y*pow(10,i); i++; } x=x/10; } printf("new number is:%ld\n",z); printf("\nEnter a number:"); } return 0; }
ex5.cpp
#include<stdio.h> #include<math.h> int main(){ int m,n; float x; printf("Enter n(1~10):"); while (scanf("%d",&n)!=EOF){ float x=0,y=0; for(m=1;m<=n;m++){ y=y*m; x=x+pow(-1,m-1)*(1/y); } printf("n=%d,x=%f\n",n,x); printf("Enter n(1~10):"); } return 0; }
ex6.cpp
#include<stdio.h> #include<stdlib.h> #include<time.h> int main(){ int m,n,x=1,y=0; int ret=0; srand(time(0)); n=rand()%30+1; printf("猜猜2020年12月哪一天會是your luck day!\n"); printf("開始嘍,你有三次機會,來吧(1~31):"); scanf("%d",&m); while(x<=3){ if(m==n){ printf("你猜的日期是正確的!\n"); ret=1; break; }else if(m>n){ printf("你猜的日期晚了,luck day悄悄溜到前面啦!\n"); printf("再猜!"); scanf("%d",&m); x++; }else{ printf("你猜的日期早了,luck day還沒到呢!\n"); printf("再猜(1~31):"); scanf("%d",&m); x++; } } if(ret=0)printf("次數用完了,偷偷告訴你:12月,你的luck day是:%d",n); return 0; }