c实验报告: 循环结构程序设计和函数

实现求等差数列前n项和,运行结果如图1所示

#include <stdio.h>

int main ( void )

{

int  i , n , sum ;

scanf ( "%d" , &n ) ;

sum = 0;

for ( i = 1 ; i<=n ; i++ )

{

sum = sum + i ;

}

扫描二维码关注公众号,回复: 9421203 查看本文章

printf ( "%d\n" , sum ) ;

return 0;

}

 

图1数列前n项和运行结果的截图

实现求数列前n项和,运行结果如图2和图3所示

#include <stdio.h>

int main(void)

{

int  i,n;

double sum,flag;

scanf ("%d",&n) ;

sum = 0.0;

flag=1.0;

for ( i=1;i<=n;i++)

{

   sum=sum+1/flag;

 

   flag=flag+1;

}

printf ( "%.2f\n" , sum ) ;

return 0;

}

图2数列前n项和的运行结果的截图

图3数列前n项和的运行结果的截图

实现求数列前n项和,运行结果如图4和图5所示

#include <stdio.h>

int main(void)

{

int  i,n;

double sum,flag;

scanf ("%d",&n) ;

sum = 0.0;

flag=1.0;

for ( i=1;i<=n;i++)

{

   sum=sum+1/flag;

 

   flag=flag+2;

}

printf ( "%.2f\n" , sum ) ;

return 0;

}

图4数列前n项和的运行结果的截图

图5数列前n项和的运行结果的截图

实现求数列前n项和,运行结果如图6所示

#include <stdio.h>

int main(void)

{

int  i,n;

double sum,flag,deno;

scanf ("%d",&n) ;

sum = 0.0;

flag=1.0;

deno=1.0;

for ( i=1;i<=n;i++)

{

   sum=sum+1*deno/flag;

           deno=-deno;

   flag=flag+2;

}

printf ( "%.2f\n" , sum ) ;

return 0;

}

图6数列前n项和的运行结果的截图

 

实现求数列前n项和,运行结果如图7所示

#include <stdio.h>

int main(void)

{

int  i,n;

double sum,flag,deno,b;

scanf ("%d",&n) ;

sum = 0.0;

flag=1.0;

deno=1.0;

b=1.0;

for ( i=1;i<=n;i++)

{

   sum=sum+b*deno/flag;

           deno=-deno;

   flag=flag+2;

   b=b+1;

}

printf ( "%.3f\n" , sum ) ;

return 0;

}

图7数列前n项和的运行结果的截图

实现求正弦函数前10项和,运行结果如图8所示

#include <stdio.h>

int main(void)

{

int i;

double s,flag,deno,x,a;

scanf("%lf",&x);

flag=1.0;

deno=1.0;

a=x;

s=0.0;

for(i=1;i<=10;i++)

    {

        s=s+flag*a/deno;

        flag=-flag;

        a=a*x*x;

        deno=deno*2*i*(2*i+1);

    }

    printf("%.3f",s);

return 0;

}

 

 

图8正弦函数前10项和的截图

 

 

正弦函数求和框图的的截图

 

实现判定素数,运行结果如图9所示

#include <stdio.h>

#include<math.h>

int main(void)

{

int i,n,m,fact;

scanf("%d",&m);

fact=0;

n=(int)sqrt(m);

for(i=2;i<=n;i++)

    {

        if(m%i==0)

        {

            fact=1;

            break;

        }

 

    }

    if(fact==1||m==1)

        {

            printf("No\n");

        }

        else

        {

            printf("Yes\n");

        }

return 0;

}

图9判定素数的结果的截图

 

 

实现判断最大公约数,运行结果如图10所示

#include<stdio.h>

int main()

{

 

    int a, b, r;

    scanf("%d%d", &a, &b);

    while(r = a % b, r != 0)

 

    {

        a = b;

        b = r;

    }

    printf("%d\n", b);

 

    return 0;

 

}

图10判断最大公约数的结果的截图

实现分解质子,运行结果如图11所示

#include<stdio.h>

int main()

{

 

    int i, n;

    scanf("%d", &n);

    for(i = 2; n > 1; i++)

    {

        while(n % i == 0)

    {

    printf("%d", i);

    n = n / i;

    if(n == 1)

        printf("\n");

    else

        printf(" ");

        }

    }

    return 0;

 

}

图11分解质子结果的截图

 

实现判断是否是水仙花,运行结果如图12所示

#include <stdio.h>

#include <stdlib.h>

 int flower(int num);

 

int main()

{

    int m,n,i;

    int e=0;

    scanf("%d%d",&m,&n);

    for(i=m;i<=n;i++)

    {

 

        if(flower(i)==1)

        {

            printf("%d ",i);

            e=1;

        }

    }

    if(e==0)

        printf("no\n");

        return 0;

}

 int flower(int num)

  {

     int i ,a ,s=0,l;

     l=num;

     for(i=1;i<=3;i++)

     {

         a=num%10;

         num=num/10;

         s=s+a*a*a;

     }

     if(s==l)

        return 1;

     else

        return 0;

 }

图12判断水仙花数结果的截

实现判断素数,运行结果如图13所示

#include <stdio.h>

#include <math.h>

int prime (int n);

 

int main()

{

    int m,n,i;

    scanf("%d%d",&m,&n);

    for(i=m;i<=n;i++)

    {

        if(primei)==1)

            printf("%d ",i);

    }

    return 0;

}

int prime (int n)

{

  int i,k,e=0;

    k=(int)sqrt(n+1);

    for(i=2;i<=k;i++)

    {

        if(n%i==0)

        {

            e=1;

            break;

        }

    }

    if(e==1||n==1)

     return 0;

    else

     return 1;

}

      

图13判断素数结果的截图

 

实现判断元音个数,运行结果如图14所示

#include <stdio.h>

#include <stdlib.h>

int vowel(char ch);

int main()

{

    int i,e=0;

    char ch[1000];

   for(i=0;i>=0;i++)

   {

       scanf("%c",&ch[i]);

       if(vowel(ch[i])==1)

        e++;

       else if(ch[i]=='\n')

        break;

   }

   printf("%d",e);

   return 0;

}

int vowel(char ch)

{

    if(ch=='A'||ch=='a'||ch=='E'||ch=='e'||ch=='I'||ch=='i'||ch=='O'||ch=='o'||ch=='U'||ch=='u')

      return 1;

    else

        return 0;

}

 

图14判断元音个数结果的截图

实现输出图案,运行结果如图15所示

#include <stdio.h>

#include <stdlib.h>

void outputstar(int n);

 

int main()

{

    int m;

    scanf("%d",&m);

    outputstar(m);

    return 0;

}

 

void outputstar(int n)

{

    int i,j,k,l;

    for(i=1;i<=n;i++)

    {

       for(j=1;j<=n-i;j++)

           printf("   ");

       for(k=1;k<=2*i-i;k++)

           printf(" * ");

       for(l=1;l<=n-i;l++)

           printf("   ");

           printf("\n");

printf("\n");

    }

}

图15实现输出图案的结果的截图

 

 

  • 实验结果&总结:

 

写题时应当先读懂题目的意思,然后运用数学知识写好条件,然后用代码把意思正确的表达出来。如果出现问题首先检查代码有没有打错,然后在检查思路有没有什么问题,不要着急应该慢慢理清楚思路。

发布了44 篇原创文章 · 获赞 5 · 访问量 4028

猜你喜欢

转载自blog.csdn.net/wangdada___/article/details/89856577