1.
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<windows.h>
#define N 80
void print_text(int line, int col, char text[]);
void print_spaces(int n);
void print_blank_lines(int n);
int main()
{int line,col,i;
char text[N] = "6";
srand(time(0));
for(i = 1; i <= 10; ++i) {
line = rand() % 25;
col = rand() % 80;
print_text(line, col, text);
Sleep(1000);
}
return 0;
}
void print_text(int line,int col,char text[]){
print_blank_lines(line-1);
print_spaces(col-1);
printf("%s",text);}
void print_blank_lines(int n){
int i;
for(i=1;i<=n;++i)
printf("\n");}
void print_spaces(int n){
int i;
for(i=1;i<=n;++i)
printf(" ");
}
2.
#include<stdio.h>
long long fac(int n);
int main()
{int i,n;
printf("输入n:");
scanf("%d",&n);
for(i=1;i<=n;++i)
printf("%d!=%lld\n",i,fac(i));
return 0;
}
long long fac(int n){
static long long p=1;
p=p*n;
return p;
}
#include <stdio.h>
int func(int, int);
int main() {
int k = 4, m = 1, p1, p2;
p1 = func(k, m);
p2 = func(k, m);
printf("%d, %d\n", p1, p2);
return 0;
}
int func(int a, int b) {
static int m = 0, i = 2;
i += m + 1;
m = i + a + b;
return m;
}
静态局部变量在函数第一次被调用时第一次遇到该变量时进行初始化,以后不会再被初始化
3.
#include <stdio.h>
long long func(int n);
int main(){
int n;
long long f;
while(scanf("%d",&n)!=EOF){
f=func(n);
printf("n=%d,f=%11d\n",n,f);
}
return 0;
}
long long func(int n){
long long result;
if(n==0)
result=0;
else result=2*func(n-1)+1;
return result;
}
4.
#include <stdio.h>
int func(int n ,int m);
int main(){
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
printf("n=%d,m=%d,ans=%d\n",n,m,func(n,m));
return 0;
}
int func(int n,int m)
{int result;
if(n<m)
result=0;
else
result=func(n-1,m-1)+func(n-1,m);
return result;
}
5.
#include<stdio.h>
int mul(int n, int m);
int main()
{int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
printf("%d*%d=%d\n",n,m,mul(n,m));
return 0;
}
int mul(int n,int m)
{int result;
if(n==0)
result=0;
else result=mul(n-1,m)+m;
return result;
}
6.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void hanoi(unsigned int n,char from,char temp,char to);
void moveplate(unsigned int n,char from,char to);
int main()
{
unsigned int n;
int count;
while(scanf("%u",&n)!=EOF){
hanoi(n,'A','B','C');
count=pow(2,n)-1;
printf("一共移动了%d次",count);
printf("\n");
}
system("pause");
return 0;
}
void hanoi(unsigned int n,char from,char temp,char to)
{
if(n==1)
moveplate(n,from,to);
else
{
hanoi(n-1,from,to,temp);
moveplate(n,from,to);
hanoi(n-1,temp,from,to);
}
}
void moveplate(unsigned int n,char from,char to)
{
printf("%u: %c --> %c\n",n,from,to);
}
8.
#include<stdio.h>
#include<math.h>
long func(long s);
int main()
{
long s,t;
printf("输入一个数字:");
while(scanf("%ld",&s)!=EOF)
{
t=func(s);
printf("新数字是:%ld\n\n",t);
printf("输入一个数字:");
}
return 0;
}
long func(long s){
int n;
int number=0;
int c=0;
while(s!=0)
{n=s%10;
if(n%2!=0)
{number=pow(10,c)*n+number;
c++;
}
s/=10;
}
return number;
}