目标:掌握简单算法分析和实现
任务1:求n的值,其中n=x!+y!,x与y为随机的整数
提示: 可以利用C语言里rand()等随机函数生成x与y
要求: 先分析思考、再实现
#include<stdio.h>
#include<stdlib.h>
long fx(int a)
{
int t;
if(a==1||a==0)
t=1;
else
t=a*fx(a-1);
return(t);
}
void main()
{
long fx(int a);
long x,y;
long n;
x =(long)rand()/10;
y =(long)rand()/3000;
printf("x=%lu y=%lu\n",x,y);
n=fx(x)+fx(y);
printf("%lu\n",n);
}
------------------------------------任务分割线------------------------------------
任务2:输入多行字符,统计其中有多少个字符,多少行。如输入: Hello World! 输出: 1行, 12个字符;
提示: 可以利用getchar()等函数判断和统计字符数和行数
要求: 理解getchar()的用法
#include <stdio.h>
int main()
{
int a, b, n, state;
state =0;
b=0;
n = 0;
while ((a = getchar()) != EOF)
{
n=n+1;
if (a == '\n')
b=b+1;
if (a == ' ' || a == '\n' || a == '\t')
state = 0;
else if (state == 0) {
state = 1;
}
}
printf("%d行 %d字符\n", b, n);
}