本文仅供参考!
1、在一个袋子里有3色彩球,其中红色球有3个,白色球也有3个,黑色球有6个,问当从袋子中取出8个球时共有多少种可能的方案,编程实现将所有可能的方案编号输出在屏幕上。
代码:
#include<stdio.h>
int main(){
int i, j, k, n = 1;
for(i = 0; i < 4; i++)
for(j = 0; j < 4; j++)
for(k = 0; k < 7; k++)
if((i+j+k) == 8)
{
printf("第%d种:红色——%d个,白色——%d个,黑色——%d个。\n", n, i, j, k);
n++;
}
}
运行结果:
2、如果要将整钱换成零钱,那么一元钱可兑换成一角,两角,五角,问有多少种兑换方案。
代码:
#include<stdio.h>
int main()
{
int n = 1, i, j, k;
for(i = 0; i < 11; i++)
for(j = 0; j < 11; j += 2)
for(k = 0; k < 11; k += 5)
if(10 == (i + j + k))
{
printf("第%d种: 1角钱:%d张,\t 2角钱:%d张,\t5角钱:%d张\n", n, i, j/2, k/5);
n++;
}
}
运行结果:
3、3! = 3*2*1; 5! = 5*4*3*2*1;依次类推,求终端输入n的阶乘n!;
代码:
#include<stdio.h>
int fun(int x)
{
if(1 == x)
return 1;
else
return x*(fun (x-1));
}
int main()
{
int n, m;
printf("请输入一个整数:");
scanf("%d", &n);
m = fun(n);
printf("%d!= %d\n", n, m);
}
运行结果:
4、在你面前有一条长长的阶梯,如果每步跨2阶,那么最后剩1阶;如果每步跨3阶,那么最后剩2阶;如果每步跨5阶,那么最后剩4阶;如果每步跨6阶,最后剩5阶;只有当每步跨7阶时,最后才正好走完,一阶也不剩。请问这条阶梯至少有多少阶?(求所有三位阶梯数)。
代码:
#include<stdio.h>
int main()
{
int i, j, n = 0, m, sum[100];
for(i = 100; i < 1000; i++)
if(1 == i%2 && 2 == i%3 && 4 == i%5 && 5 == i%6 && 0 == i%7)
{
sum[n] = i;
n++;
}
for(j = 0; j < n; j++)
{
printf("%-5d", sum[j]);
if(0 == (j + 1)%4)
printf("\n");
}
printf("\n");
}
运行结果: