#7288: 这样可以吗?


hii (hii)

學校 : 不指定學校
編號 : 29550
來源 : [211.65.233.125]
最後登入時間 :
2012-12-29 19:49:52
d137. 绝对值 -- liouzhou_101 | From: [58.192.120.233] | 發表日期 : 2012-12-13 12:13

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

int main()
{
    int i;
    char str[100];

    while(gets(str))
    {
        int top = 0;
        int realp = 0, imap = 0;
        int len = strlen(str);
        char temp[15];

        for(i=0; i<len; i++)
        {
            switch(str[i])
            {
                case '+' :
                case '-' :
                    if(top>0)
                    {
                        temp[top] = '\0';
                        realp = atoi(temp);
                        top = 0;
                    }
                    break;
                case 'i' :
                    if(top == 0)
                        temp[top++] = '1';
                    temp[top] = '\0';
                    imap = atoi(temp);
                    top = 0;
                    break;
                default :
                    temp[top++] = str[i];
                    break;
            }
        }
        if(top>0)
        {
            temp[top] = '\0';
            realp = atoi(temp);
            top = 0;
        }


        printf("%.3lf\n",sqrt((double)realp*realp + (double)imap*imap));
    }
    return 0;
}

 
ZeroJudge Forum