isZcc

3

实验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,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);
  
  
 }
 
实验图片

 

 

实验目的:在屏幕上任意位置打出10个四月你好

 

源代码

#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;
}
 
 
 
 
实验图片

 

实验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;
}

 

实验图片

 

 
 
 
2.2
 
源代码
 
 

#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;
}

 

 

 

 

 

8

#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;
}

 

 

 
 

posted on 2023-04-01 16:27  走草草  阅读(20)  评论(0编辑  收藏  举报

导航