简单的C语言3
来源:互联网 发布:ipad股票训练软件 编辑:程序博客网 时间:2024/06/03 18:49
1、 用标准C编程:找出整形数字1-100之间的素数,并打印出来。(素数:除了1和自己本身可以被整除。)
2、 用标准C编程:有两个整形变量m、n,求出这两个数的最小公倍数。
3、 用标准C编程:输出杨辉三角形的前10行:三角形的每一行是(x+y)^n的展开式各项的系数。
例如:
第一行是(x+y)^0,其系数为1;
第二行是(x+y)^1,其系数为1;
第三行是(x+y)^2,其展开式为x2+2xy+y2,系数分别为1,2,1;
直观形式如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
解答:
1)对于一个问题,我们可以建立一个循环,看是否除到一个可以整除的数来退出循环,或者正常到程序结束。
#include <stdio.h>int main(void){int n;int i;int j;scanf("%d",&n);for(j=2;j<=n;j++){//看2到n有几个素数 for(i=2;i<=j && j%i;i++);//判断素数,如果有约数,退出循环 if(i==j)//正常退出,是素数 printf("%d\n",j);}}2)对于第二个问题来说,我们可以先找到它的最大公约数,然后m*n/最大公约数来解决问题。
#include <stdio.h>
int main(void){int m,n;int yue;int i,j;scanf("%d%d",&m,&n);for(i=2;(m%i || n%i) && i<=m;i++);//找到最大公约数if(i=m+1)//判断最大公约数printf("%d",(m*n)/1);elseprintf("%d",(m*n)/i);}3)对于第三个问题,我们可以使用二维数组找出它的规律,可以看出从第二行开始的的二个数等于它的上一个数,加它的上一个的左边的数。
所以我们可以有以下程序
#include <stdio.h>int main(void){ int i,j,k,n; scanf("%d",&n); int a[n][n]; for(i=0;i<n;i++) { for(j=0;j<n;j++){ if(j==0 || i==j) a[i][j]=1; else a[i][j]=a[i-1][j]+a[i-1][j-1]; } } for(i=0;i<n;i++) { for(k=0;k<n-i;k++){ printf("%2c",' '); } for(j=0;j<n;j++){ if(i>=j) printf("%d ",a[i][j]); } printf("\n"); }}
以上所有代码均在vs2010 或者 devc++中验证过,可行性。
阅读全文
0 0
- 简单的C语言3
- 简单的c语言
- 简单的C语言程序(3
- C语言简单的多线程
- 简单的c语言学习
- C语言的简单例题
- 简单的c语言题目
- 简单的C语言程序
- C语言的简单Makefile
- C语言的简单介绍
- 简单的c语言程序
- 简单C语言的框架结构
- C语言的简单编程
- C语言 简单的通讯录
- c语言----简单的c程序设计
- 3D数学库的简单实现(C语言)
- C语言概述-C语言的一个简单实例
- 【C语言】C语言实现简单的链表
- CSS overflow 溢出
- Vim命令合集
- 关于Log
- hibernate:二
- 读“腾讯传”伤感
- 简单的C语言3
- Uva10162+Uva10539
- 导出离散傅里叶变换(DFT)的两种方法
- Windows 10
- 10.29(周日)
- 对于一个n位正整数a,去掉其中任意k(k<=n)个数字后,剩下的数字按原次序排列可以组成一个新的正整数。设计一个删数算法,使得剩下的数字组成的正整数最小。例如,a=13243221,k=5,输出:12
- 单链表中基于箱子的基数排序
- 更优雅的 Android 发布自动版本号方案
- 轻量级锁