C 语言经典例子

时间:2023-03-09 01:17:10
C 语言经典例子

1. 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。

#include<stdio.h>

int main()
{
int i,j,k;
printf("\n");
for(i=;i<;i++) { // 以下为三重循环
for(j=;j<;j++) {
for (k=;k<;k++) { // 确保i、j、k三位互不相同
if (i!=k&&i!=j&&j!=k) {
printf("%d,%d,%d\n",i,j,k);
}
}
}
}
}

输出结果:

,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,
,,

2. 题目:输出9*9口诀。

程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。

#include<stdio.h>
int main()
{
int i,j,result;
printf("\n");
for (i=;i<;i++)
{
for(j=;j<=i;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result); /*-3d表示左对齐,占3位*/
}
printf("\n"); /*每一行后换行*/
}
}

输出结果:

*=
*= *=
*= *= *=
*= *= *= *=
*= *= *= *= *=
*= *= *= *= *= *=
*= *= *= *= *= *= *=
*= *= *= *= *= *= *= *=
*= *= *= *= *= *= *= *= *=

 3. 题目:找出1000以内的所有完数, 所谓完数是指一个数恰好等于它的因子之和(不包括其本身),例如:6 = 1+2+3;6就是一个完数

#include <stdio.h>
#define N 500 int main(int argc, const char *argv[])
{
int data[N] = {0}; int i = 0, j = 0; int num = 0;
int temp = 0; for(num=1;num<=1000;num++)
{
j = 0;
temp = 0;
for(i=1;i<num;i++)
{
if((num%i) == 0) //先找出数的因子数的和
{
temp += i;
}
} if(temp == i)//因子和与这个数是否相等
{
printf("%d ",num);
}
}
return 0;
}

输出结果:6  28  496