VUE前端Fetch請求呼叫第三方介面
阿新 • • 發佈:2020-11-19
//一元二次方程求解 //重複執行,直到按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=%.2f-%.2fi\n\n",real,imag,real,imag); } } printf("Enter a,b,c:"); } return 0; }
//生成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 #include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int i,m,x,cnd; cnd=0; for(i=101;i<=200;i++) //給定i的範圍 { m=sqrt(1.0*i); //定下最大除數 for(x=2;x<=m;x++) //實現除數從2到根號被除數 { if(i%x==0) //x不是素數 break; //結束迴圈 } if(x>m) //除數過半,還未找到可整除的數 { printf("%d\t",i); //列印輸出i,每隔九列 cnd++; //計數,統計素數個數 if(cnd%5==0) //每列印五個,換行 { printf("\n"); } } } printf("\n101~200之間有%d個素數\n",cnd); return 0; }
任務四
演算法思路:
①取出奇數:從末位開始,先對10取餘,判斷餘數的奇偶,若是奇數則記錄,偶數則不記錄;將原數對10進行整除運算,重複上述步驟,且將第一次得到的數字乘以10在加上本次數字;繼續重複上述步驟,直至對10整除得到結果為0;
②保持高位仍在高位:利用反位輸出的原理,先對10取餘,記錄,再對10進行整除,第一次得到的數字乘以10加上第二次的數字,重複上述步驟,直至對10整除得到結果為0;
本題注意點是輸入數字為長整型;
關於這部分的反位輸出我寫了兩種,都尚存小瑕疵:
第一種輸出是以整體數字輸出,但從第二次開始,會將前一次的數字累加輸出;
第二種輸出是以單個數字輸出,視覺效果是與題意相符的,但實際可能不是題目想得到的結果;
//ex4 //依次取出奇數,按序排列 #include <stdio.h> #include <math.h> #include <stdlib.h> int main (){ long x,t,p; t=0,p=0; printf("請輸入一個數字:\n"); while(scanf("%ld",&x)!=EOF) { while(x!=0) { long m,n; m=x%10; n=m%2; if(n!=0) { t=t*10+m; x=x/10; } else x=x/10; } while (t!=0) { int m,n; n=t%10; p=p*10+n; t=t/10; } printf("%d",p); } return 0;
//ex4 //依次取出奇數,按序排列 #include <stdio.h> #include <math.h> #include <stdlib.h> int main (){ long x,t; t=0; printf("請輸入一個數字:\n"); while(scanf("%ld",&x)!=EOF) { while(x!=0) { long m,n; m=x%10; n=m%2; if(n!=0) { t=t*10+m; x=x/10; } else x=x/10; } while (t!=0) { int m,n,p; n=t%10; printf("%d",n); t=t/10; } } return 0; }
任務五
尚存問題:s值第一次是正確的,第二次起,會將前一次的結果加上後輸出;
//ex5 #include <stdio.h> #include <math.h> int main(){ int n,i,p; p=1; double s=0.0,t=-1.0,q; printf("Enter n(1~10):"); while(scanf("%d",&n)!=EOF) { if(n<=0||n>10) printf("something wrong,please enter again!\n"); for(i=1;i<=n;i++) { p=p*i; q=pow(t,i-1.0); s=s+1/(p*q); } printf("n=%d,s=%f\n\n",n,s); printf("Enter n(1~10):"); } return 0; }
//ex6 #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> int main(){ int m,n,x; n=1; srand(time(0)); x=rand()%31+1; printf("猜猜2020年12月哪一天會是你的luck day\n"); printf("開始嘍,你有三次機會,猜吧(1~31):"); scanf("%d",&m); while(n<3) { if(x==m) {printf("你猜對啦!恭喜你!\n"); break;} else if(x>m) printf("你猜的日期早了,luck day還沒到呢!\n"); else printf("你猜的日期晚了,luck day悄悄溜到前面啦!\n"); printf("再猜(1~31):"); scanf("%d",&m); n++; } { if(n=3&&x==m) printf("你猜對啦!恭喜你!\n"); else printf("次數用完了,悄悄告訴你:12月,你的luck day 是:%d",x); } return 0; }