0:
#include <stdio.h>
#include <string.h>
void reverse(char *str, int length);
void reverse(char *str, int length)
{
char reverseStr;
if (--length >= 0){
reverseStr = str[length];
printf("%c",reverseStr);
reverse(str, length);
}
}
int main(void)
{
char str[128];
int length;
printf("请输入一句以感叹号结尾的英文句子:");
// gets(str);
scanf("%[^\n]",str);
length = strlen(str);
printf("反向输出:");
reverse(str, length);
putchar('\n');
return 0;
}
1:
#include <stdio.h>
void Fsum(int num, int i);
void Fsum(int num, int i)
{
static int sum;
if (--num >= 0){
sum += i;
i = sum - i;
printf("%d ",sum);
Fsum(num, i);
}
}
int main(void)
{
int num;
int i = 1;
printf("请输入一个整数:");
scanf("%d",&num);
printf("斐波那契的前%d个数字是:",num);
Fsum(num, i);
return 0;
}
2:
#include <stdio.h>
void binary(unsigned long n);
void binary(unsigned long n)
{
int r;
r = n % 2;
if (n >= 2){
binary(n / 2);
}
putchar('0' + r); // '0' + 1 == '1'
}
int main(void)
{
unsigned long number;
printf("请输入一个正整数:");
scanf("%lu", &number);
binary(number);
putchar('\n');
return 0;
}