1. 用單層循環打印出99乘法表
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i, j;
for (i=1,j=1;i<9;j++)
{
if (j>9)
{
j=1;
i++;
putchar('\n');
}
if (i<=j)
printf("%d*%d=%d\t", i, j, i*j);
}
return 0;
}
2. 函數atoi的遞歸實現
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//這里并沒有做充足的檢查 并要求為正 只是一個遞歸的思想罷了
int recurse_atoi(char *str, int *sum)
{
if (str == NULL)
return -1;
if (*str != '\0')
{
if (*str < '0' || *str > '9')
return -1;
*sum = *sum*10;
*sum += *str - '0';
recurse_atoi(str+1, sum);
}
return *sum;
}
int main()
{
char str[20] = "239803";
int sum=0;
/*/char str[20];
printf("please input a num:\n");
scanf("%s", str);pasting
//*/
printf("%s = %d\n", str, recurse_atoi(str, &sum));
return 0;
}