循环程序设计能力自测

#include <stdio.h>
#include <math.h>


int reverse(int data)
{
//请在此填写代码,实现将参数data的值反转,并返回的功能
/*---------begin------------*/
    int ans=0,cnt=0,a[1000],flag=0;
    if(data<0){
        flag=1;
        data=-data;
    }
    while(data){
        a[cnt++]=data%10;
        data/=10;
    }
    cnt--;
    int index=0,cnt_t=cnt;
    while(index<=cnt){
        ans+=a[index]*pow(10,cnt_t);
        index++;
        cnt_t--;
    }
    if(flag){
        ans=-ans;
    }
    return ans;
/*---------end------------*/


}

//下面的main函数请勿修改
int main(void)
{
    int  x ;
    scanf("%d",&x);
    printf("%d",reverse(x));
    return 1;
}
#include <stdio.h>

int judge(int data)
{
    //请在此填写函数,用户判断data是否是回文,若是回文,返回1,否则返回0
    /*------begin--------*/
    if(data<0){
        return 0;
    }
    int num[1000],tmp,end;
    for(int i=0;data>0;i++){
        num[i]=data%10;
        data/=10;
        end=i;
    }
    for(int i=0;i!=end;i++,end--){
        if(num[i]!=num[end]){
            return 0;
        }

    }

    return 1;
    
    /*------end--------*/
}

int main(void)
{
    int x;
    //请在此书写代码,从键盘读入一个整数放入变量x
    scanf("%d",&x);
    //在此书写代码,根据调用函数judge的结果,若是1 ,输出true,否则输出false
    int isLoop=judge(x);
    if(isLoop){
        printf("true");
    }else{
        printf("false");
    }
    return 1;
}
#include <stdio.h>
void fib(int n)
{
 //此处输入代码,能输出n项斐波那契数列,两个数之间有一个空格,最后一个数后面不需要空格
  /*-----begin---------*/

    int pri=1,ppri=1,ans=1,cnt=0;
    if(n==0){
         printf("0");
        return;
    }

    printf("1 ");
while(cnt<n-1){
    printf("%d%c",ans,cnt<n?' ':'\0');

    ans=pri+ppri;
    ppri=pri;
    pri=ans;
    cnt++;
}

 /*-----end---------*/

}

int main(void)
{
int i;
scanf("%d",&i);
fib(i);
return 1;
}

 

posted @ 2020-10-31 17:21  ethon-wang  阅读(217)  评论(0编辑  收藏  举报