覺得代碼水平是相當的差…………寫2個十分十分十分簡單的先練一下……高手見笑……
/**********atoi********/
1 #include <stdio.h>
2 #include <string.h>
3 #include <math.h>
4
5 int main(int argc , char **argv)
6 {
7 int i,length,sum=0;
8 char buffer[256];
9
10 printf("please input your string num!(less than 256 bytes)/n");
11 scanf("%s",buffer);
12
13 length = strlen(buffer);
14
15 for(i=0;i<length;i++)
16 {
17 if(buffer[i]<48 || buffer[i]>57)
18 {
19 printf("error/n");
20 return -1;
21 }
22 sum += (buffer[i]-48) * pow(10,length-i-1);
23 }
24
25 printf("the int num is %d sizeof num is %d/n",sum,sizeof(sum));
26
27 return 0;
28 }
/**************** itoa **********/
1 #include <stdio.h>
2 #include <string.h>
3
4 int resrv(char *buffer)
5 {
6 char tmp;
7 int length , i;
8 length = strlen(buffer);
9 for(i=0;i<length/2;i++)
10 {
11 tmp = buffer[i];
12 buffer[i] = buffer[length-i-1];
13 buffer[length-i-1]=tmp;
14 }
15 }
16
17 int main(int argc , char **argv)
18 {
19 int num,newnum,i=0;
20 char buffer[256];
21
22 printf("please input a num , less than 32767/n");
23
24 scanf("%d",&num);
25
26 while(num)
27 {
28 newnum = num % 10 ;
29 buffer[i] = (char) newnum+48;
30 if(buffer[i]<48 || buffer[i]>57)
31 {
32 printf("your input num error/n");
33 return -1;
34 }
35 num = num / 10;
36 i++;
37 }
38
39 resrv(buffer);
40
41 printf("the string num is %s/n",buffer);
42 }