#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#define N 80
void printText(int line, int col, char text[]); // 函数声明
void printSpaces(int n); // 函数声明
void printBlankLines(int n); // 函数声明
int main()
{
int line, col, i;
char text[N] = "hi, May~";
srand(time(0)); // 以当前系统时间作为随机种子
for(i=1; i<=10; ++i)
{
line = rand()%25;
col = rand()%80;
printText(line, col, text);
sleep(1); // 暂停1000ms
}
return 0;
}
// 打印n个空格
void printSpaces(int n)
{
int i;
for(i=1; i<=n; ++i) printf(" ");
}
// 打印n行空白行
void printBlankLines(int n)
{
int i;
for(i=1; i<=n; ++i)
printf("\n");
}// 在第line行第col列打印一段文本
void printText(int line, int col, char text[])
{
printBlankLines(line-1); // 打印n-1行空行
printSpaces(col-1); // 打印n-1列空格
printf("%s", text);
}
![]()
// 利用局部static变量的特性,计算阶乘
#include <stdio.h>
long long fac(int n); // 函数声明
int main()
{
int i, n;
printf("Enter 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;
printf("p=%11d\n",p);
p = p * n;
return p;
}
//static可以将循环后的数值传到下一次循环
![]()
#include <stdio.h>
long long fun(int n); // 函数声明
int main()
{
int n;
long long f;
while (scanf("%d", &n) != EOF)
{
f = fun(n); // 函数调用
printf("n = %d, f = %lld\n", n, f);
}
return 0;
}// 函数定义 // 待补足
long long fun(int n)
{
long long i,m=1;
for(i=0;i<n;i++)
{
m=2*m;
}
m=m-1;
return m;
}
![]()
#include<stdio.h>
void hanoi(unsigned int n,char from,char temp,char to);
void moveplate(unsigned int n,char from,char to);
int fun(int n);
int main()
{
unsigned int n;
while(1>0)
{scanf("%u,&n");
hanoi(n,'A','B','C');
printf("一共移动了%d次\n",fun(n));
}
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);
}
int fun(int n)
{
int k;
k=2*fun(n-1)+1;
return k;
}
![]()
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int is_prime(int n);
int main()
{
int i=2,s;
for(i=4;i<=20;i+=2)
{
for(s=2;s<=i/2;s++)
{
if(is_prime(s)==1&&is_prime(i-s)==1)
printf("%d=%d+%d\n",i,s,(i-s));
}
}
return 0;
}
int is_prime(int n)
{
int w;
for(w=2;w<=sqrt(n);w++)
if(n%w==0)
break;
if(w>sqrt(n))
return 1;
else if(w<=sqrt(n))
return 0;
}
![]()
#include<stdio.h>
long fun(long s);//函数声明
int main()
{
long s,t;
printf("Enteranumber:");
while(scanf("%ld",&s)!=EOF)
{
t=fun(s);//函数调用
printf("newnumberis:%ld\n\n",t);
printf("Enteranumber:");
}
return 0;
}
long fun(long s)
{
long t=0,a;
int i=0;
while(s!=0)
{
a=s%10;
if(a%2!=0)
{
t+=a*pow(10,i);
i++;
}
s=s/10;
}
return t;
}
![]()