1、假如我们要对一个整数,例如1234,我们要求输出这个数的每一位,也就是说输出1 2 3 4的这种格式,那么应该怎么做呢。
我们想到了这样的方法,就是我们先将这个数除以10然后再将这个数模10,这样子循环的做,直到这个数为0,就停止,每做一次除以10模10的运算我们就打印一次,这样就可以得到我们想要的格式了。
#include <stdio.h>
#include <stdlib.h>
void Print_Num(int num)
{
if(num == 0)
return 0;
Print_Num(num/10);
printf("%d\t",num%10);
}
int main()
{
int num = 1234;
Print_Num(num);
return 0;
}
2、计算1/1+1/2-1/3+1/4......的和。
对于这样的问题我们循规蹈矩的计算会花费大量的时间,较为麻烦和复杂
#include <stdio.h>
#include <stdlib.h>
void my_add(int n)
{
double sum = 0.0;
int flag = 1;
int i = 1;
for(i = 0;i < n;i++)
{
sum = sum + flag*(1.0/i);
flag = flag*(-1);
}
return sum;
}
int main()
{
int n = 0;
double sum = 0;
printf("请输入要求的1~n的数据\n");
scanf("%d",&n);
sum = my_add(n);
return 0;
}
3、找出1~100的数字中9出现的次数
看到这个问题我们可以这样考虑,怎么样才能知道有9这个数字呢,当然是模上10余9的数字可以,除以10余9的数字也可以,那么这样的话我们可以这样子写程序。
#include <stdio.h>
#include <stdlib.h>
int Find_Nine(int count,int n)
{
int i = 0;
int j = 0;
for(i = 0;i <= n;i++)
{
j = i;
while(j)
{
if(j%10 == 9)
{
count++;
}
j = j/10;
}
}
return count;
}
int main()
{
int count = 0;
int sum = 0;
sum = Find_Nine(count,100);
printf("%d",sum);
return 0;
}