ZOJ-1113,1115,1295,超简单题

本文解决了ZOJ平台上的三个编程挑战:公式计算、数位根及反转输出字符串。通过C语言实现,针对不同问题采用特定技巧,如使用字符串处理大整数运算。

有点小无聊,秒杀了几道简单题

1113 公式计算

//ZOJ 1113
#include<stdio.h>

int main()
{
    
int i,j;
    
double e=2.5,dived=2;
    printf("n e/n- -----------/n0 1/n1 2/n2 2/.5/n");

    
for(i=3;i<=9;i++)
    {
        dived 
*= i;
        e 
+= 1/dived;
        
if(i>2)
            printf(
"%d %.9lf/n", i, e);
    }
}

1115 数位根

这道题AC了以后就想骂人,谁这么变态出的数据,题目简单到没话说,却让我WA了两下,原因是OJ上输入的数字位数太大了,输入时要用字符串的方式才能过。

#include<stdio.h>
#include
<string.h>

int droot(int in)
{
    
int n,i;
    
int re=0;
    
char str[20];
    sprintf(str, 
"%d"in);
    n 
= strlen(str);
    
for(i=0;i<n;i++)
    {
        re 
+= str[i] - 48;
    }
    
if(re>9)
        
return droot(re);
    
else
        
return re;
}

int main()
{
//    freopen("1115.txt","r",stdin);


    
int in,n,i;
    
char str[1005];
    
while(scanf("%s"&str)!=EOF && str[0]!='0')
    {
        
in = 0;
        n 
= strlen(str);
        
for(i=0;i<n;i++)
        {
            
in += str[i] - 48;
        }

        printf(
"%d/n", droot(in));
    }
//    fclose(stdin);
    return 0;
}

 

1295 反转输出字符串

注意最基本的输入方式就OK

#include<stdio.h>

int main()
{
//    freopen("1295.txt","r",stdin);
    int n,i,count;
    
char str[100],c;
    scanf(
"%d"&n);
    scanf(
"%c",&c);
    
for(i=1;i<=n;i++)
    {
        count
=0;
        
while(scanf("%c",&str[count])!=EOF && str[count]!=' ')
            count
++;
        count
--;
        
while(count>=0)
            printf(
"%c", str[count--]);
        printf(
"/n");
    }
//    fclose(stdin);
    return 0;
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值