实验三
#include <stdio.h> long long func(int n){ if(n==1){ return 2; }else{ return 2*func(n-1); }
}
int main(){ int n; long long f; while(scanf("%d",&n)!=EOF){ f=func(n); printf("n=%d,f=%lld\n",n,f-1); } }

4
#include <stdio.h>
int func1(int n);
int func2(int n,int m);
int main(){
int n,m;
while(scanf("%d %d",&n,&m)!=EOF){
if(n<m){
printf("n=%d,m=%d,ans=0\n",n,m);
}else{
printf("n=%d,m=%d,ans=%d\n",n,m,func2(n,m));
}
}
}
int func1(int n){
int i=1,t=1;
for(int i=1;i<=n;i++){
t=t*i;
}
return t;
}
int func2(int n,int m){
return func1(n)/(func1(n-m)*func1(m));
}

5
#include <stdio.h>
#include <math.h>
long func(long s);
int main (){
long s,t;
while(scanf("%d",&s)!=EOF){
t=func(s);
printf("new number is:%ld\n\n",t);
printf("Enter a number:");
}
}
long func(long s){
long int sum1,sum2=0;
double p1=log10(s);
for(int i=0;i<=(int)p1;i++){
if((s%10)%2!=0){
sum1=sum1*10+(s%10);
}
s=s/10;
}
double p2=log10(sum1);
for(int i=0;i<=(int)p2;i++){
sum2=sum2*10+sum1%10;
sum1=sum1/10;
}
return sum2;
}
1 
#include <stdio.h>
#include <stdlib.h>
#include <time.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] = "hi, November~";
srand(time(0)); // 以当前系统时间作为随机种子
for(i = 1; i <= 10; ++i) {
line = rand() % 25;
col = rand() % 80;
print_text(line, col, text);
Sleep(1000); // 暂停1000ms
}
return 0;
}
// 打印n个空格
void print_spaces(int n) {
int i;
for(i = 1; i <= n; ++i)
printf(" ");
}
// 打印n行空白行
void print_blank_lines(int n) {
int i;
for(i = 1; i <= n; ++i)
printf("\n");
}
// 在第line行第col列打印一段文本
void print_text(int line, int col, char text[]) {
print_blank_lines(line-1); // 打印(line-1)行空行
print_spaces(col-1); // 打印(col-1)列空格
printf("%s", text); // 在第line行、col列输出text中字符串
}
2
#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;
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; }
#include <stdio.h> void hanoi(int n,char a,char b,char c); void move(int n,char a,char b); int main(){ int n; while(scanf("%d",&n)!=EOF){ hanoi(n,'A','B','C'); printf("移动了%d次",l); } } void hanoi(int n,char a,char b,char c){ if(n==1){ move(n,a,c); }else{ hanoi(n-1,a,c,b); move(n,a,c); hanoi(n-1,b,a,c); } } void move(int n,char a,char b){ printf("第%d盘子从%c-->%c\n",n,a,b); }
浙公网安备 33010602011771号