您的位置:首页 > 编程语言 > C语言/C++

c语言作业1028/1029

2017-10-30 16:55 127 查看
/*
1、 用标准C编程:找出整形数字1-100之间的素数,并打印出来。(素数:除了1和自己本身可以被整除。)

*/
#include <stdio.h>
void main(void){
int i;
int j;
//定义一个1到100的数组
int arr[100];
for(i=0; i<100; i++){
arr[i]=i+1;
}

for(i=1; i<=100; i++){
for(j=1; j<i; j++){
//判断是否为合数
//如果是合数就让该数变为负的
//break出当前循环
if(arr[i]%j==0 && j!=1){
arr[i]=-arr[i];
break;
}
}
}
//遍历数组
for(i=0; i<100; i++){
//由于合数都为负
//过滤掉负数 输出的就是质数
if(arr[i]>1){
printf("%d ",arr[i]);
}
}
}




/*
2、 用标准C编程:有两个整形变量m、n,求出这两个数的最小公倍数。
最小公倍数就是和m能够整除和n也能够整除的最小的数
*/
#include <stdio.h>
void main(void){
int m;
int n;
int i;
scanf("%d%d",&m,&n);
//从mn中最小的一个数开始遍历, 最小公倍数小于m*n
//  如果它既能被m整除(和m取余为0)也能被n整除 的第一个数 就是最小公倍数
for(i=(m<n)? m:n; i<=m*n; i++){
//判断是否整除  如果能整除 直接break
if(i%m==0 && i%n==0){
printf("%d\n",i);
break;
}
}
}




/*
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

*/

/*
杨辉三角的每个项系数为  n! / ((n-m)!  *  m!)    (n为列数从0开始  m为行数0=<m<=n  )
*/
#include <stdio.h>
void main(void){
int x;
int y;
int i;
for(x=0; x<=10; x++){
for(y=0; y<=x; y++){
printf("%d " ,coefficient(x)/(coefficient(x-y)*coefficient(y)));
}
printf("\n");
}
}
//定义一个 求x的阶乘的函数
int coefficient(int x);
int coefficient(int x){
if(x==0){
return 1;
}
return x*coefficient(x-1);
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言