taks 3

#include <stdio.h>
long long fac(int n); 
int main()
{
int i, n;
printf("Enter n: ");
scanf("%d", &n);
for (i = 1; i <= n; ++i)
printf("%d! = %lld\n", i, fac(i));
return 0;
}

long long fac(int n)
{
static long long p = 1;
p = p * n;
return p;
}

#include <stdio.h>
long long fac(int n); 
int main()
{
int i, n;
printf("Enter n: ");
scanf("%d", &n);
for (i = 1; i <= n; ++i)
printf("%d! = %lld\n", i, fac(i));
return 0;
}

long long fac(int n)
{
static long long p = 1;
printf("p = %lld\n", p); 
p = p * n;
return p;
}

 

#include <stdio.h>
int func(int, int); 
int main()
{
int k = 4, m = 1, p1, p2;
p1 = func(k, m); 
p2 = func(k, m); 
printf("%d,%d\n", p1, p2);
return 0;
}
int func(int a, int b)
{
static int m = 0, i = 2;
i += m + 1;
m = i + a + b;
return (m);

}

 

 

 

实验二

#include <stdio.h>
void printSymbol(int n, char symbol); 
int main()
{
int n;
char symbol;
while( scanf("%d %c", &n, &symbol) != EOF )
{printSymbol(n, symbol); 
printf("\n");
}

return 0;
}
void printSymbol(int n, char symbol)
{ int i;
for(i=1;i<=n;i++)
  {
  printf("%c",symbol);}
  return;
    
}

 

#include <stdio.h>
void printSymbol(int n, char symbol); 
int main()
{
int n;
char symbol;
while( scanf("%d %c", &n, &symbol) != EOF )
{printSymbol(n, symbol); 
printf("\n");
}

return 0;
}
void printSymbol(int n, char symbol)
{ 
if(n==1)
printf("%c",symbol);
else
{printf("%c",symbol);
printSymbol(n-1, symbol); 
}
return;    
}

 

 

 

实验三

#include <stdio.h>
long long fun(int n); 
int main()
{
int n;
long long f;
while (scanf("%d", &n) != EOF)
{
f = fun(n); 
printf("n = %d, f = %lld\n", n, f);
}
return 0;
}
 long long fun(int n)

{

if(n==0)
return 0;
else
return 2*fun(n-1)+1;
    
}

 

 

实验四

 


#include<stdio.h>
 int isprime(int x);
  int main()
  {int a,i;
  i=0;
  for(a=101;a<=200;a++)
  {if(isprime(a)==0)
   {printf("%10d",a);
   i++;}
  }
  printf("\n%d\n",i);
  return 0;    
      
  }
  int isprime(int x)
  {int m;
  for(m=2;m<x;m++)
      {if(x%m==0)
          break;
      }
      if(m<x)
      return 0;
      else
      return 1;
      
  }

 

 

 

 

 

 

 

 

 

实验五

 

#include <stdio.h>
#include<math.h>
long fun(long s); 
int main()
{
long s, t;
printf("Enter a number: ");
while (scanf("%ld", &s) != EOF)
{
t = fun(s); 
printf("new number is: %ld\n\n", t);
printf("Enter a number: ");
}
return 0;
}
long fun(long s)
{ long a,y,sum;
y=0;sum=0;
 while(s!=0)
 {
 a=s%10;
 if(a%2!=0)
 {
 sum=sum+a*pow(10,y);
 y++;}
 s=(s-a)/10;
 }
 return sum; 
  
}

 

 

 

 

 

实验六

#include <stdio.h>
#include<math.h>
double fun(int n); 

int main()
{
int n;
double s;
printf("Enter n(1~10): ");
while (scanf("%d", &n) != EOF)
{
s = fun(n); 
printf("n = %d, s= %f\n\n", n, s);
printf("Enter n(1~10): ");
}
return 0;
}
double fun(int n)
{
int i;
double a,result,sum;
sum=1;result=0;
  for(i=1;i<=n;i++)
{
sum=sum*i;
a=pow(-1,i-1)/sum;
result+=a;}

return result;    

}

 task 1 static静态变量不会被重新赋值

task 2  递归更好,更方便

总结 主要掌握递归并与循环配套使用

 

posted @ 2021-11-28 13:38  沈晓阳  阅读(36)  评论(0编辑  收藏  举报