1.求一个数的阶乘
#include<stdio.h>
int main()
{
int n;
scanf_s("%d", &n); //输入一个整数
int fact = 1;
int i ;
for(i=1;i<=n;i++) //也可以使用while循环
{
fact *= i; //fact=fact*i
}
printf("%d!=%d\n", n, fact);
}
2.作任意整数逆序
#include<stdio.h>
int main()
{
int x=12345; //给定一个初始值
//scanf_s("%d", &x);
int digit; //定义最右边位数
int ret = 0; //定义结果变量
while (x>0 )
{
digit = x % 10; //求出最右边的数
ret = ret * 10 + digit;
printf("x=%d,digit=%d,ret=%d\n", x, digit, ret);
x /= 10; //去除最右边的数
}
printf("%d", ret); //可以将放在while语句里面,如700.
}
3.求素数
#include<stdio.h>
int main()
{
int x; //定义变量x
scanf_s("%d", &x); //输入一个整数
int i;
int isPrime = 1; //x是素数
for (i = 2; i < x; i++)
{
if (x%i == 0)
{
isPrime = 0;
break; //结束循环
}
}
if (isPrime == 1) //判断是否为素数
{
printf("是素数\n");
}
else
{
printf("不是素数\n", x);
}
}
4.凑硬币(如何用1角、2角和5角的1硬币凑出10元以下的金额)多重循环
#include<stdio.h>
int main()
{
int x;
int one, two, five;
int exit = 0; //定义变量,方便跳出循环
scanf_s("%d", &x);
for (one = 1; one < x * 10; one++) //全是1角的话,不会超过20个
{
for (two = 1; two < x * 10 / 2; two++)
{
for (five = 1; five < x * 10 / 5; five++)
{
if (one + two * 2 + five * 5 == x * 10)
{
printf("可以用%d个1角加%d个2角加%d个5角
得到%d元\n",one,two,five,x);
exit = 1;
break;//第一种方法使用break
/*goto out; //第二种方法,得到结果,
就跳到下面out位置*/
}
}
if(exit