//杨辉三角
#include<stdio.h>
int main(void)
{
int i,j,n; int arr[15][15];
scanf_s("%d", &n);
for (i = 0; i < n; i++) {
for (j = 0; j <=i; j++) {
arr[i][j] =1;
}
}
for (i = 2; i < n; i++) {
for (j =1; j <i; j++) {
arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
}
}
for (i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
printf("%5d", arr[i][j]);
}
printf("\n");
}
return 0;
}
//编写函数,使用户输入一个十进制数字,可自由选择输出该数字转换为二进制,八进制,或16进制的结果。
#include<stdio.h>
//int two(int a);可有可无
int main()
{
int a;
scanf_s("%d", &a);
printf("十六进制=%x\n八进制=%o\n", a,a);//八进制和十六进制换个输出符就行了
int two(int a);
printf("二进制=%d\n",two(a));//这里很重要
//return 0;最好省略掉
}
int two(int a)
{
int y = 0;int p = 1;//y和p一定要拿出来声明!!!!
while (1) {
int yushu = a % 2;
a /= 2;
y += yushu * p;
p *= 10;
if (a < 2) {
y += a * p;
break;
}//十进制转换二进制 求余取整倒序...
}
return y;//返回y的值
}
//判断101-200之间有多少个素数,并输出所有素数。
#include<stdio.h>
int main()
{
int count = 0;
for (int i = 101; i <= 200; i++) {
int w = 1;//把1赋给w一定要在第一个for循环的里面
for (int j = 2; j < i; j++) {
if (i % j == 0) {
w = 0; break;
}
}
if (1==w) {
printf("%d ", i); count++;
}
}
printf("\n");
printf("共有%d个质数", count);
return 0;
}
自己的一些关于素数拓展
int main()
{
int n; scanf_s("%d", &n);
for (int i = 2; i <= n; i++) {
int w = 1;
if (n % i == 0) {
w = 0;
printf("%d不是是素数",n);
break;
}
if (w == 1) {
printf("%d是素数", n);
break;
}
}
return 0;
}
//有4个数字分别为1,2,3,4,能组成多少个互不相同且无重复数字的三位数?都是多少?
int main()
{
int count = 0; int sum = 0;
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= 4; j++) {
for (int k = 1; k <= 4; k++) {
sum = 100 * i + 10 * j + k;
if (i != j && i != k && j != k) {
printf("%d ", sum);
count++;
}
}
}
}
printf("\n");
printf("一共有%d个不重复的三位数", count);
return 0;
}
// 程序定义了N*N的二维数组,并在主函数中自动赋值(rand函数)。请编写函数fun(int a[N][N]),函数的功能是:使数组右上半三角元素中的值全部置成0。(N>=5)
#include<stdio.h>
int fun(int a[][100],int N);
int main()
{
int a[100][100]; int i, j;
int N; scanf_s("%d", &N);
for (i = 0; i <N; i++) {
for (j = 0; j < N; j++) {
a[i][j] = rand() % 100 + 1;//rand()
}
}
fun(a,N);//用法别忘了
for (i = 0; i < N&&N>=5; i++) {//最后打印要遍历啊啊啊!很重要!
for (j = 0; j < N; j++) {
printf("%5d", a[i][j]);
}
printf("\n");//记住了
}
return 0;
}
int fun(int a[][100],int N) {
int i, j;
for (i = 0; i <N; i++) {//横列要分清
for (j =i; j <= N - 1; j++) {
a[i][j] = 0;
}
}
}
// 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
int main()
{
int mon; scanf_s("%d", &mon);
int arr[100];
for (int i = 0; i <mon; i++) {
arr[i] = 1;
}
for (int j = 0; j <mon; j++) {
arr[j+2] = arr[j] + arr[j+1];
}
//for (int j = 0; j <mon; j++)
printf("第%d个月一共有%d只兔子\n ",mon,arr[mon]);
return 0;
}