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);
}

局部static变量的特性为静态变量,他不是自动变量,他是一个可初始化值的变量,他的值在函数结束后不会被回收而是会被保存。

 

#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) {
    for (int i = 0;i < n;i++)
    {
        printf("%c", symbol);
 
    }
}

 

#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);
}

}

 个人任务第2种更简便更容易理解

#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)
{
    long long int result;
    if(n==1)
    result=1;
    else
    result=2*(fun(n-1)+1)-1;
    return result;
}

 

#include<stdio.h>
int isprime(int n);
int main()
{
    int n,m,k;
    for(n=101,k=0;n<=200;n++)
    {
        m=isprime(n);
        if(m==1)
       {
            printf("%d\t",n);
            k++;
        }
    }

    printf("\n101µ½200ÓÐ%d¸ö·ÇËØÊý",k);
    return 0;
}
int isprime(int n)
{
    int m=0,k,l,o=0;
    for(l=2;l<n-2;l++)
    if(n%l==0)
    o++;
    if(o!=0)
    return 1;
    else
    return 0;

}

 

#include <stdio.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){
    int i=1;
    int t;
    int num=0;
    while(s!=0){
        t = s%10;
        if (t % 2 ==1){
        num = num + t*i;
        i *=10;
        }
        s = s/10;
    }
    return num;
}

 

#include<stdio.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)
{
    double sum;
    int i,sign,bottom;
    sum=0;
    sign=1;
    bottom=1;
    for(i=1;i<=n;i++)
    {
        bottom=bottom*i;
        sum=sum+1.0*1/bottom*sign;
        sign=sign*(-1);
      }
    return sum;
}

 

posted @ 2021-11-28 11:10  陆天宇  阅读(34)  评论(1编辑  收藏  举报