开始学c 第二天

二级c语言上机题

1,删除字符串中的星号

问题:1,删除字符串后端的星号,得到指向字符串末尾的指针,并向前找到第一个非星号的字符,将最后一个星号设置为'\0';

        2,删除字符串前端的星号,得到字符串首地址,并找到第一个非星号的字符,将其后的字符依次前移;

        3,删除字符串中间的星号,设置两个指针,p,q。q遍历字符串,p紧跟其后,遇到星号则跳过。

# include <stdio.h>
# include <string.h>
void del(char *s)
{
    int i=0,cou=0,k;
    int len=strlen(s);
    while(s[i++]=='*')cou++;
    k=cou;
    for(i=0;k<len;k++,i++)
        s[i]=s[k];
    for(i=len-cou;i<len;i++)
        s[i]='*';
}
void main()
{
    char ss[100];
    scanf("%s",ss);
    del(ss);
    printf("\n%s",ss);
}

 

2,求1+(1+根号2)+(1+根号2+根号3)+...

问题:1,pow函数求指数,pow(a,0.5)开根号

        2,temp=temp+pow(i,0.5);sum=sum+temp;

#include <stdio.h>
float sum(int n)
{
    int i;
    float te=0.0,sum=0.0;
    for(i=1;i<=n;i++)
    {
        te=te+i;
        sum=sum+1/te;
    }
    return sum;
}
void main()
{
    int i,n;
    float s;
    scanf("%d",&n);
    s=sum(n);
    for(i=1;i<n;i++)
    {
        printf("1/%d+",i);
    }
    printf("1/%d=%.2f",n,s);
}

 

3,求斐波拉切数列中不小于n的第一个数

问题:1,算法:{x=1,y=1,z=0;}{z=x+y;x=y;y=z;}

posted @ 2013-03-19 07:51  微笑_loser  阅读(130)  评论(0)    收藏  举报