C語言一些例子(九九乘法表,楊輝三角形,九宮演算法)
阿新 • • 發佈:2018-11-14
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
例子、九九乘法表
#include<stdio.h>int main(){ int i,j; for(i=1;i<=9;i++) {for (j=1;j<=i;j++)printf("%d*%d=%d ",j,i,i*j);printf("\n"); } return 0;}
執行結果:
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
例二、列印等腰三角形
#include<stdio.h>void printf_trangle(int n);int main(){ int n; printf("input trangle lengh\n"); scanf("%d",&n); printf_trangle(n); return 0;}void printf_trangle(int n){ int i,j; for(i=1;i<=n;i++) { for(j=0;j<n-i;j++) printf(" "); for(j=0;j<2*i-1;j++) printf("*"); printf("\n"); }}
執行結果:
input trangle lengh10 * *** ***** ******* ********* *********** ************* *************** ************************************
例子三:九宮演算法(行,豎,對角線相加都等於15,並且數字使用1~9,不能重複)
#include<stdio.h>int check_if_ok(int *p){ int i,j,temp[9],temp1[9]; if(p[0]+p[1]+p[2]!=15) return -1; if(p[3]+p[4]+p[5]!=15) return -1; if(p[6]+p[7]+p[8]!=15) return -1; if(p[0]+p[3]+p[6]!=15) return -1; if(p[1]+p[4]+p[7]!=15) return -1; if(p[2]+p[5]+p[8]!=15) return -1; if(p[0]+p[4]+p[8]!=15) return -1; if(p[2]+p[4]+p[6]!=15) return -1; for(i=0;i<9;i++) { temp[i]=p[i]; for(j=0;j<9;j++) { if(i==j) continue; temp1[j]=p[j]; if(temp[i]==temp1[j]) return -1; /* 如果找的到相同的數字表示不符合規定 */ } } printf("%d %d %d \n",p[0],p[1],p[2]); printf("%d %d %d \n",p[3],p[4],p[5]); printf("%d %d %d \n",p[6],p[7],p[8]); printf("\n\n"); return 0;}void main(){ int a[9]={1,2,3,4,5,6,7,8,9}; int b[9]={0}; int i,j,k,m; for(j=1;j<10;j++) { b[0]=j; for(i=1;i<10;i++) { if(i==j) continue; b[1]=i; for(k=1;k<10;k++) { if((k==i)||(k==j)) continue; b[2]=k; for(m=1;m<10;m++) { if((m==i)||(m==j)||(m==k)) continue; b[3]=m; b[6]=15-b[0]-b[3]; b[4]=15-b[2]-b[6]; b[7]=15-b[1]-b[4]; b[5]=15-b[3]-b[4]; b[8]=15-b[2]-b[5]; check_if_ok(b); } } } }}
執行結果:
2 7 6 9 5 1 4 3 8 2 9 4 7 5 3 6 1 8 4 3 8 9 5 1 2 7 6 4 9 2 3 5 7 8 1 6 6 1 8 7 5 3 2 9 4 6 7 2 1 5 9 8 3 4 8 1 6 3 5 7 4 9 2 8 3 4 1 5 9 6 7 2