实验任务一:
#include <time.h> #include <stdio.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]="hi,april~"; 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_spaces(int n){ int i; for(i=1;i<=n;i++){ printf(" "); } } void print_blank_lines(int n){ int i; for(i=1;i<=n;i++){ printf("\n"); } } void print_text(int line,int col,char text[]){ print_blank_lines(line-1); print_spaces(col-1); printf("%s",text); }
实现功能:连续每隔1s随机打印10次行在[0,25)列在[0,80)之间的一串hi,april字符
实验任务二:
#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; }
插入前:
插入后:
2_2代码:
#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=%lld\n",n,f); } return 0; } long long func(int n){ if(n==0) return 0; return 2*func(n-1)+1; }
截图:
实验任务四:
#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){
if (n==m || m==0){
return 1;}
else if(n<m){return 0;
}
return func(n-1,m)+func(n-1,m-1);
}
截图:
实验任务5:
#include <stdio.h> double mypow(int x,int y); int main(){ int x, y; double ans; while(scanf("%d%d",&x,&y)!=EOF){ ans=mypow(x,y); printf("%d的%d次方:%g\n\n",x,y,ans); } return 0; } double mypow(int x,int y){ if(y==0){ return 1; } else if(y>0){ return (double)x*mypow(x,y-1); } else if(y<0) { return (mypow(x,y+1)/x); } }
截图:
5_2
#include <stdio.h> double mypow(int x,int y); int main(){ int x, y; double ans; while(scanf("%d%d",&x,&y)!=EOF){ ans=mypow(x,y); printf("%d的%d次方:%g\n\n",x,y,ans); } return 0; } double mypow(int x,int y){ double s=1; while(y>0){ s=s*x; y=y-1; } while(y<0){ s=s/x; y=y+1; } return s; }
截图:
实验任务六:
#include <stdio.h> void move(int x, int y); void hanoi(int n,char a,char b,char c); long long func(int n); void move(int x, int y){ printf("%c->%c\n",x,y); } void hanoi(int n,char a,char b,char c) { if(n==1) { move(a,c); } else{ hanoi(n-1,a,b,c); move(a,c); hanoi(n-1,b,a,c); } } long long func(int n){ if(n==0) return 0; return 2*func(n-1)+1; } int main() { int n=0; while(scanf("%d",&n)!=EOF){ hanoi(n,'A','B','C'); printf("移动总数:%lld\n",func(n)); }return 0; }
截图:
实验任务七:
#include <stdio.h> #include <math.h> int is_prime(int n); int main(){ int prime[20];int i;int j=2; for(i=2;i<=20;i++){ prime[i]=i*is_prime(i); } for(i=4;i<=20;i+=2){ for(j=2;;j++){ if(prime[i-j]!=0){ printf("%d = %d + %d\n",i,j,i-j); break; } } } return 0; } int is_prime(int n){ int i;int r; int f=1; for(i=2;i<=sqrt(n);i++){ r=n%i; if(r==0){f=0;break; } else{f=1; } } return f; }
截图:
实验任务八:
#include <stdio.h> #include <math.h> long func(long s); int main(){ long s,t; printf("Enter a number:"); while(scanf("%ld",&s)!=EOF){ t=func(s); printf("new number is:%ld\n\n",t); printf("Enter a number:"); } return 0; } long func(long s){ long g=0,l=0;int t; while(s!=0){ t=s %10; s=s/10; if(t%2!=0){ l=l*10+t; } } while(l!=0){ t=l%10; l=l/10; g=g*10+t; } return g; }
截图:
标签:return,int,long,实验,func,printf,include From: https://www.cnblogs.com/zxh628/p/17274214.html