zoukankan      html  css  js  c++  java
  • C语言:根据以下公式计算s,s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n) -在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,

    //根据一下公式计算s,并将计算结果作为函数返回值,n通过形参传入。s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n)

     1 #include <stdio.h>
     2 
     3 float fun(int  n)
     4 {
     5     float s=1.0;
     6     int x=0;
     7     for (int i = 2; i <= n; i++)
     8     {
     9         for (int j = i; j > 0; j--)
    10         {
    11             x += j;
    12         }
    13         s += 1 / (float)x;
    14         x = 0;//切记x归零。
    15     }
    16     return s;
    17 }
    18 
    19 void main()
    20 {  int n; float s;22    printf("
    Please enter N:"); scanf("%d", &n);
    23    s = fun(n);
    24    printf("the result is: %f
    ", s);26 }
    

    //另一种方法:

     1 float fun(int  n)
     2 {
     3     float s=0.0;
     4     int x=0;
     5     for (int i = 1; i <= n; i++)//i初始值为1
     6     {
     7         x += i;
     8         s += 1 / (float)x;
     9     }
    10     return s;
    11 }

    //使用递归解决

     1 float fun(int  n)
     2 {
     3     float m = 0;
     4     if (n == 1) return 1.0;
     5     for (int i = 1; i <= n; i++)
     6     {
     7         m += i;
     8     }
     9     return 1 / m + fun(n - 1);
    10 }

    //在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,找不到相同字符则不做处理。

     1 #include    <stdio.h>
     2 void fun(char  *s, char  c)
     3 {  int  i, j, n;
     4 /**********found**********/
     5   for(i=0; s[i]!=''; i++)
     6      if(s[i]==c)
     7      {
     8 /**********found**********/
     9         n=0;
    10         while(s[i+1+n]!='')  n++;//计算之后字符串的长度
    11         for(j=i+n+1; j>i; j--)  s[j+1]=s[j];//依次赋值给下一个元素,也就是元素后移一位。
    12 /**********found**********/
    13         s[j+1]=c;
    14         i=i+1;
    15      }
    16 }
    17 void main()
    18 {  char  s[80]="baacda", c;
    19    printf("
    The string:  %s
    ",s);
    20    printf("
    Input a character:  ");  scanf("%c",&c);
    21    fun(s,c);
    22    printf("
    The result is:  %s
    ",s);
    23 }
  • 相关阅读:
    弹框DialogBuilder的使用
    分页刷新(SwipeRefreshLayout+SwipeMenuRecyclerView)
    Android Studio各种bug
    分页加载PullToRefreshLayout+PullableListView
    20+个很棒的Android开源项目
    ANDROID中使用开源框架CITYPICKERVIEW实现省市区三级联动选择
    Android 一个改善的okHttp封装库
    Android之万能播放器解码框架Vitamio的介绍及使用
    Android微信支付SDK开发
    CMD 查看端口号 根据PID 关闭进程
  • 原文地址:https://www.cnblogs.com/ming-4/p/10522267.html
Copyright © 2011-2022 走看看