#include <stdio.h> #include <stdlib.h> #include<string.h> int main(){ int n[1000000],i; int x,all=0.; int ave; while(scanf("%d",&x)!=EOF){ for(i=1;i<=x;i++){ scanf("%d",&n[i-1]); } for(i=1;i<=x;i++){ all=all+n[i-1]; } ave=all/i; if(ave>59){printf("yes\n");} if(ave<59){printf("no\n");} } return 0; } # c語言練習 ###### tags: `computer` >判斷是否為等腰三角形 c語言 ```cpp= #include<stdio.h> int main() { int x,y,z,tootla1,tootla2,tootla3; printf("enter the number\n"); scanf("%d%d%d",&x,&y,&z); tootla1=x+y; tootla2=x+z; tootla3=y+z; if(tootla1>z&&tootla2>y&&tootla3>x){ if(x==y&&x==z&&y==z){ printf("ture truangle\n"); } else if(x==y||x==z||z==y){ printf("isocoles triangle\n"); } else{ printf("not a isocoles triangle\n"); } } else if(x==0|z==0|y==0){ printf("can not be a triangle\n"); } else{ printf("can not be a triangle\n"); } return 0; } ``` >直角三角形 c語言 ```cpp= #include<stdio.h> int main() { int a,b,c; printf("enter the number\n"); scanf("%d%d%d",&a,&b,&c); if(a+b>c&&b+c>a&&a+c>b){ if(a^2+b^2==c^2|a^2+c^2==b^2|b^2+c^2==a^2){ printf("this is a 90 triangle\n"); } else{ printf("this is not a 90 triangle\n"); } } else{ printf("can not be a triangle\n"); } return 0; } ``` >判斷能圍出甚麼三角形 ```cpp= #include<stdio.h> int main() { int a,b,c; printf("enter the number\n"); scanf("%d%d%d",&a,&b,&c); if(a+b>c&&b+c>a&&a+c>b){ if(a==b&&b==c&&a==c){ printf("ture triangle\n"); } else if(a==b|b==c|a==c){ printf("also triangle\n"); } else if(a*a+b*b==c*c|a*a+c*c==b*b|b*b+c*c==a*a){ printf("90 triangle\n"); } else{ printf("triangle\n"); } } else{ printf("can not be a triangle\n"); } return 0; } ``` >判斷三數大小找出最大值 ```cpp= #include<stdio.h> int main() { int x,y,z,max; printf("please enter three number\n"); scanf("%d%d%d",&x,&y,&z); max=x; if(max<=y){ max=y; } if(z>=y){ max=z; } printf("the max number is%d\n",max); return 0; } ``` >四個數字比大小找最大值 ```cpp= #include<stdio.h> int main() { int x,y,z,a,max; printf("enter four number\n"); scanf("%d%d%d%d",&x,&y,&z,&a); max=x; if(y>max){ max=y; } if(z>max){ max=z; } if(a>max){ max=a; } printf("the max number is%d\n",max); return 0; } ``` >switch首次練習 ```cpp== #include<stdio.h> int main() { int x,y; scanf("%d",&x); switch(x){ case 29: printf("harry\n"); break; case 33: printf("fat\n"); break; default: printf("no body\n"); break; } return 0; } ``` >猜數字練習 ```cpp== #include<stdio.h> int main() { int x ; int harry=29; int count=0; while(count==0||x!=harry ){ printf("enter the number:"); scanf("%d",&x); count=count+1; if(x>harry ){ printf("too big\n"); } if(x<harry){ printf("too small\n"); } } printf("you are right\n"); return 0; } ``` >求平均 ```cpp== #include<stdio.h> int main() { int sum=0; int number; int count=0; float average; printf("enter the number:"); scanf("%d",&number); if(number==0){ printf("can not be a sentance"); } else{ while(number!=0){ count=count+1; sum=sum+number; printf("enter the number:"); scanf("%d",&number); } average=(float)sum/count; printf("average is %f",average); } return 0; } ``` >switch練習 ```cpp== #include<stdio.h> int main() { int x; int tootle=0; do{ printf("enter the count: "); scanf("%d",&x); switch(x){ case 1:tootle=tootle+10; break; case 2:tootle=tootle+20; break; case 3:tootle=tootle+30; break; case 4:tootle=tootle+40; break; } } while(x!=0); printf("the tootle is %d",tootle); return 0; } ``` >計算加法 使用者自行輸入數字幾加到幾 ```cpp== #include<stdio.h> int main() { int x=0,i,t,s; printf("enter the number1:"); scanf("%d",&t); printf("enter the number2:"); scanf("%d",&s); for(i=t;i<=s;i++){ x=x+i; } printf("%d",x); return 0; } ``` >數星星 ```cpp== #include<stdio.h> int main() { int x,t; printf("enter the number of star you like:"); scanf("%d",&x); for(t=1;t<=x;t++){ printf("*"); } return 0; } ``` >找質數 ```cpp== #include<stdio.h> int main() { int x,number,y=0; printf ("enter the number:"); scanf("%d",&x); for(number=1;number<=x;number++){ if(x%number==0){ y=y+1; } } if(y==2){ printf("this is the number can not found another number with it\n");//質數 } else{ printf("this is the number can found another number with it\n");//不是質數 } return 0; } ``` >c語言 九九乘法表 ```cpp== #include <stdio.h> int main() { int x,y,number; printf("enter the number:"); scanf("%d",&number); for(x=number;x<=9;x++){ for(y=1;y<=9;y++){ printf("%d x %d = %d\n",x,y,x*y); } } return 0; } ``` >c語言 輸出空心正方形 ```cpp= #include <stdio.h> int main() { int x,t,a;//a是橫排的第幾個,t是直排的第幾個,x是輸入的變數 printf("enter the number:"); scanf("%d",&x); for(a=1;a<=x;a++){ printf("*"); } printf("\n"); for(a=1;a<=x-2;a++){ printf("*"); for(t=1;t<=x-2;t++){ printf(" "); } printf("*"); printf("\n"); } for(a=1;a<=x;a++){ printf("*"); } printf("\n"); } ``` >列出空心三角形 ```cpp== #include <stdio.h> int main() { int x,t,a; printf("enter the number:"); scanf("%d",&x); printf("*\n"); for(a=0;a<=x-3;a++){ printf("*"); for(t=1;t<=a;t++){ printf(" "); } printf("*\n"); } for(a=1;a<=x;a++){ printf("*"); } return 0; } ``` >猜數字使用亂數生成題目 ```cpp== #include <stdio.h> #include<stdlib.h> #include<time.h> int main(){ srand(time(0)); int x; int y=rand()%10; printf("enter the number you guess:"); scanf("%d",&x); while(x!=y){ if(x>y){ printf("too big\n"); }else{ printf("too small\n"); } printf("enter the number you guess:"); scanf("%d",&x); } printf("you are right\n"); return 0; } ``` >查詢數字的練習 ```cpp== #include <stdio.h> #include<stdlib.h> #include<time.h> int main(){ int i,n[5]; for(i=1;i<5;i++){ printf("%d:",i); scanf("%d",&n[i-1]); } while(1){ printf("Q ="); scanf("%d",&i); if(i==0){ break; } printf("%d\n",n[i-1]); } return 0; } ``` >查詢範圍內的數字 ```cpp== #include <stdio.h> #include<stdlib.h> #include<time.h> int main(){ int i,n[10]; for(i=1;i<11;i++){ printf("enter the number:"); scanf("%d",&n[i-1]); } int l,r; printf("L R "); scanf("%d%d",&l,&r); if(i==0||r==0){ break; } for(i=1;i<11;i++){ if(n[i-1]>=l&&n[i-1]<=r){ printf("%d ",n[i-1]); } } return 0; } ``` >查詢上限內最大數的練習 ```cpp== #include <stdio.h> #include<stdlib.h> #include<time.h> int main(){ int i,n[10]; for(i=1;i<11;i++){ scanf("%d",&n[i-1]); } int updata,max=0; printf("updata: "); scanf("%d",&updata); for(i=1;i<11;i++){ if(n[i-1]<updata&&n[i-1]>max){ max=n[i-1]; } } printf("%d",max); return 0; } ``` >畫出統計長條圖 ```cpp== #include <stdio.h> #include<stdlib.h> #include<time.h> int main(){ int i,x; int n[10]={0}; for(i=1;i<=10;i++){ scanf("%d",&x); n[x-1/10]++; } int j; for(i=1;i<=10;i++){ printf("%3d:",i*10); for(j=1;j<=n[i-1];j++){ printf("*"); } printf("\n"); } return 0; } ``` >找出最大值與平均數與總和 ```cpp== #include <stdio.h> #include <stdlib.h> #include<string.h> #include<math.h> int main(){ int max=0,x; int tootle=0; for(int i=1;i<=10;i++){ printf("enter the number:"); scanf("%d",&x); tootle=tootle+x; if(x>=max){ max=x; } } printf("%d\n",max); printf("tootle is %d\n",tootle); int average=tootle/10; printf("average is %d\n",average); return 0; } ``` >找出最大值與平均數與總和可擴充版 ```cpp== #include <stdio.h> #include<stdlib.h> #include<time.h> int main(){ int n[10]={0},max=n[0],i,average; int tootle=n[0]; for(int i=0;i<=9;i++){ printf("enter the number:"); scanf("%d",&n[i]); } for(i=0;i<=9;i++){ if(max<=n[i]){ max=n[i]; } } for(i=0;i<=9;i++){ tootle=tootle+n[i]; } printf("%d\n",max); printf("tootle is %d\n",tootle); average=tootle/10; printf("average is %d\n",average); return 0; } ``` >產生不重複的亂數 ```cpp== #include <stdio.h> #include<stdlib.h> #include<time.h> int main(){ srand(time(0)); int x,n[10]={0},i; for(i=1;i<=9;i++){ do{ x=rand()%10+1; }while(n[x-1]!=0); printf("%d",x); n[x-1]++; } printf("\n"); return 0; } ``` >使用交換法產生不重複的亂數 ```cpp== #include <stdio.h> #include<stdlib.h> #include<time.h> int main(){ srand(time(0)); int i,n[10]; for(i=1;i<=10;i++){ n[i-1]=i; } for(i=1;i<=10;i++){ int j=rand()%(11-i)+i; int t=n[i-1]; n[i-1]=n[j-1]; n[j-1]=t; printf("%d",n[i-1]); } printf("\n"); return 0; } ``` >泡沫排序法 ```cpp== #include <stdio.h> #include <stdlib.h> #include<time.h> int main() { int n[10],i; for(i=1;i<=10;i++){ printf("enter the number:"); scanf("%d",&n[i-1]); } int j; for(i=1;i<=10;i++){ for(j=1;j<=10;j++){ if(n[j-1]>n[j]){ int a; a=n[j-1]; n[j-1]=n[j]; n[j]=a; } } } for(i=1;i<=10;i++){ printf("%d\n",n[i-1]); } return 0; } ``` >陣列的複製與隨機產生 ```cpp== #include <stdio.h> #include <stdlib.h> #include<time.h> int main() { srand(time(0)); int n[10]={0},x[10]={0},i; for(i=1;i<=10;i++){ n[i-1]=rand(); } for(i=0;i<=9;i++){ x[i]=n[i]; } for(i=1;i<=10;i++){ printf("%d ",n[i-1]); } printf("\n"); for(i=1;i<=10;i++){ printf("%d ",x[i-1]); } return 0; } ``` >使用函式輸出一串陣列再輸出最大值 ```cpp== #include <stdio.h> #include <stdlib.h> #include<time.h> int main(){ srand(time(0)); int arrayrand(int n[10]); int arrayprintf(int n[10]); int arraymax(int n[10]); int n[10],i,max; arrayrand(n); arrayprintf(n); arraymax(n); return 0; } int arrayrand(int n[10]){ int i; for(i=1;i<=10;i++){ n[i-1]=rand()%10; } } int arraymax(int n[9]){ int j,i,t; for(i=1;i<=10;i++){ for(j=1;j<=10;j++){ if(n[j-1]>n[j]){ t=n[j-1]; n[j-1]=n[j]; n[j]=t; } } } printf("%d",n[9]); } int arrayprintf(int n[10]){ int i; for(i=1;i<=10;i++){ printf("%d ",n[i-1]); } printf("\n"); } ``` >在函式間傳遞陣列 ```cpp== #include <stdio.h> #include <stdlib.h> #include<time.h> int maxv(int e[],int n); int main(){ int n[3]={1,2,3444}; printf("%d\n",maxv(n,3)); int a[6]={4,5,6,7,8,9999999}; printf("%d\n",maxv(a,6)); return 0; } int maxv(int e[],int n){ int i,max; max=e[0]; for(i=1;i<n;i++){ if(e[i]>max){ max=e[i]; } } return max; } ``` >輸出從鍵盤讀入的數字 ```cpp== #include <stdio.h> #include <stdlib.h> #include<time.h> int array_printf(char n[]); int array_scanf(char n[]); int main(){ char n[10],i; printf("please enter the world :"); array_scanf(n); array_printf(n); } int array_scanf(char n[]){ int i; for(i=0;i<=99999999;i++){ scanf("%c",&n[i]); if(n[i]=='\n'){ break; } } } int array_printf(char n[]){ int i; for(i=0;n[i]!='\n';i++){ printf("%c",n[i]); } printf("\n"); } ``` >指標與陣列練習 ```cpp== #include <stdio.h> #include <stdlib.h> #include<time.h> int main(){ int n[5]; int *p; for(p=n;p!=n+5;p++){ *p=0; printf("%d",*p); } return 0; } ``` >難 使用malloc動態配置記憶體 ```cpp== #include <stdio.h> #include <stdlib.h> #include<time.h> int main(){ int *n; int j,count=0,x; while(1){ scanf("%d",&x); if(x==0){ break; } int* a=malloc(sizeof(int)*(count+1)); for(j=0;j<count;j++){ a[j]=n[j]; } n=a; n[count]=x; count++; } for(j=0;j<count;j++){ printf("%d\n",n[j]); } printf("\n"); return 0; } ``` >輸入不定個數字串的練習 ```cpp= #include <stdio.h> #include <stdlib.h> #include<time.h> #include<string.h> int main(){ int i=0; char input[10],n[100][5]; while(1){ scanf("%s",input); if(strcmp(input,"end")==0){ break; } strcpy(n[i],input); i++; } int j; for(j=0;j<=i;j++){ printf("%s ",n[j]); } printf("\n"); return 0; }