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;
}