1.打印九九乘法表。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,j,ret;
for(i = 1; i <= 9; i++)
{
for(j = 1; j <= i; j++)
{
ret = i * j;
printf("%d*%d=%d\t",j,i,ret);
}
printf("\n");
}
return 0;
}
2.有1、2、3、4这四个数字,能组成多少个互不相同且无重复数字的三位数?分别是多少?
分析:可填在百位、十位、个位的数字都是1、2、3、4。先组成所有的排列后,再筛选出满足条件的排列。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,j,k;
for(i = 1; i < 5; i++)
{
for(j = 1; j < 5; j++)
{
for(k = 1; k < 5; k++)
{
if(i != k && i != j && j != k)
{
printf("%d%d%d\r\n",i,j,k);
}
}
}
}
return 0;
}
3.输入三个整数x,y,z,请把这三个数由小到大输出。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x > y)
{
t = x; x = y; y = t;
}
if(x > z)
{
t = x; x = z; z = t;
}
if(y > z)
{
t = y; y = z; z = t;
}
printf("%d,%d,%d\n",x,y,z);
return 0;
}
4.有一对小兔子,从出生后第3个月起每个月都生一对小兔子,小兔子长到第三个月后,每个月又生一对小兔子,假如兔子都不死,问第n个月兔子的总数是多少?
分析:兔子的规律为1,1,2,3,5,8,13,21…
#include <stdio.h>
int main(int argc, const char *argv[])
{
long int f = 0,f1 = 1,f2 = 1;
int i,n;
scanf("%d",&n);
for(i = 1; i <= n; i++)
{
f = f1+f2;
f1 = f2;
f2 = f;
}
printf("%ld\n",f);
return 0;
}
5.判断101~200之间有多少个素数,并输出所有素数。
分析:质数也称素数,质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int m,i, a;
for(m = 101; m < 200; m++)
{
a = 0;
for(i = 2;i < m; i++)
{
if(m%i == 0)
{
a++;
}
}
if(a == 0)
{
printf("%d\n",m);
}
}
return 0;
}
6.求100以内所有的完数的个数,例如:6的因子为1、2、3,而6=1+2+3,因此6是完数。
分析:计算出算选取的整数i的因子,将各因子累加到变量s,若s等于i,则可确认i为完数。
#include <stdio.h>
int main(int argc, const char *argv[]