3
实验1
源代码
#include<stdlib.h>
#include<time.h>
#include<windows.h>
#define N 80
void print_spaces(int n);
void print_blank_lines(int n);
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);
}
![](https://img2023.cnblogs.com/blog/3121658/202303/3121658-20230330164642064-1284002009.png)
实验目的:在屏幕上任意位置打出10个四月你好
源代码
long long fac(int n);
int i,n;
printf("Enter n:");
scanf("%d",&n);
for (i=1;i<=n;i++)
printf("%d!=%lld\n",i,fac(i));
return 0;
}
static long long p=1;
p=p*n;
return p;
}
![](https://img2023.cnblogs.com/blog/3121658/202303/3121658-20230330165723595-1197707797.png)
实验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){
int i;
long long x=1;
for(i=1;i<=n;i++){
x=2*x;
}
x=x-1;
return x;
}
实验图片
#include<stdio.h>
int func(int,int);a
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;
}
实验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){
if(n<m) return 0;
else if(n==0||m==0||n==m) return 1;
else return func(n-1,m)+func(n-1,m-1);
}
实验图片
实验5
#include<stdio.h>
#include<math.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){
int i;
double ans=1;
for(i=1;i<=abs(y);i++){
ans=ans*x;
}
if(y>0)
return ans;
else if(y<0)
return 1.0/ans;
else return 1;}
实验图片
#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.0;
if(y>0)
return 1.0*x*mypow(x,y-1);
if(y<0)
return 1.0/(mypow(x,-y-1)*x);
}
6
#include <stdio.h>
#include <stdlib.h>
void hanoi(unsigned int n, char from, char temp, char to);
void moveplate(unsigned int n, char from, char to);
int tot;
int main() {
unsigned int n;
while(scanf("%u", &n) != EOF) {
tot = 0;
hanoi(n, 'A', 'B', 'C');
printf("一共移动了%d次\n", tot);
}
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) {
tot ++;
printf("%u: %c --> %c\n", n, from, to);
}
7
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int isprime(int n);
int main()
{
int n,i;
while(scanf("%d",&n)!=EOF)
{
for(i=2;i<=n/2;i++)
{if(isprime(i)&&isprime(n-i)&&(i!=1)&&((n-i)!=1))
printf("%d=%d+%d\n",n,i,n-i);
}
}
}
int isprime(int n)
{
int k;
for(k=2;k<=sqrt(1.0*n);k++)
if(n%k==0)
return 0;
return 1;
}
#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){
int t,n=0,i=0;
while(s!=0)
{
t=s%10;
if(t%2!=0){
n=n+pow(10,i)*t;
i++ ;
}
s=s/10;
}
return n;
}