C语言一些例子(九九乘法表,杨辉三角形,九宫算法)
2016-05-29 19:42
543 查看
例子、九九乘法表
执行结果:
例二、打印等腰三角形
运行结果:
例子三:九宫算法(行,竖,对角线相加都等于15,并且数字使用1~9,不能重复)
运行结果:
#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 lengh 10 * *** ***** ******* ********* *********** ************* *************** ***************** *******************
例子三:九宫算法(行,竖,对角线相加都等于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
相关文章推荐
- 一起talk C栗子吧(第一百五十八回:C语言实例--基于AF_INET域的流套接字通信)
- C语言回顾与再学习
- HDU 4734-F(x)(数位DP)
- 字符串的旋转问题
- c++第六次作业
- c++第六次实验
- C++学习(一)——基本语法
- leetcode 101 Symmetric Tree C++
- C++循环队列基本操作
- C++ 智能指针(shared_ptr/weak_ptr)源码分析
- C语言《函数如何区分形参and实参》
- c++常见容器操作
- VS2010使用c++、gSOAP调用WebService 图文教程
- c++ 指向类成员函数的函数指针
- C语言实现一个简单的词法分析器
- c++输出流cout的
- 《C++ Primer》 chapter 15 TextQuery
- [c++] stack的使用
- C语言++问题
- C语言常见单链表面试题(1)