/****************************************************
* CP-I Warmup 1999-2000
* Problem #6
***************************************************/
/*
* Question:
* Assume that you are given a 10-element array of characters. The values
* in the array are limited to '+','-', and '0' throught '9'. Each
* character of the array represents a single digit of a number along with
* its sign.
* Write a program that converts the characters in the array into the
* correct integer value and display its square.
*
* Ex: if Arr="-361" the it's corresponding square value is 130321.
*
* By doing this, you have almost implemented the atoi function!!
*/
#include<stdio.h>
#define MAX_LENGTH 15
main()
{
char arr[MAX_LENGTH];
int value;
printf("Give the array: ");
scanf("%s",arr);
value=my_atoi(arr);
printf("%d\n",value*value);
}
int my_atoi(char *str)
{
int i=0,len,value=0;
i=str[0]=='-'||str[0]=='+'?1:0;
len=strlen(str);
for(;i<len;i++)
if(str[i]<'0' || str[i]>'9')
{
printf("%s is not an integer\n",str);
return 0;
}
else
value=value*10+str[i]-'0';
return str[0]=='-'?value*-1:value;
}