首页 > 其他分享 >实验3

实验3

时间:2023-04-01 15:44:35浏览次数:27  
标签:return int long 实验 func ans include

任务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);//暂停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中字符串
}

 

每隔1s输出一个Hi April~ 共输出10个。

任务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!=%11d\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;
}

 

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

总结:static变量只在第一次被定义,下一次使用该变量会获得上一次运算后的值。是静态储存的特点,只分配固定的储存空间。

任务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)
{
    long long a,b;
    if(n == 0)
    {
        a = 0;
    }else{
        b = 2*func(n-1)+1;
        a = b;
    }
    
    return a;
}

 

 

任务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){
    int s;
    if(m == n||m == 0)
        s = 1;
    else if(m>n)
        s = 0;
    else 
        s = func(n-1,m) + func(n-1,m-1);
        
    return s;
}

任务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){
    double t;
    double s;
    if(y>=0){
        if(y == 0)
           s=1; 
        else
           s=x*mypow(x,y-1);
    }
    else{
        t = x*mypow(x,-y-1);
        s = 1/t; 
    }
    
    return s;
    
}

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){
    int i;
    double s=1;
    if(y == 0){
       s = 1;
    }else if(y>0){ 
        for(i=1;i<=y;i++){
          s = s*x;}
    }else{
        for(i=1;i<=(-y);i++){
          s = s/x;}
    }
    
    return s; 
}

任务6:

#include <stdio.h>
void hanoi(unsigned int n,char from,char temp,char to);
void moveplate(unsigned int n,char from,char to);
int main()
{
    unsigned int n;
    while(scanf("%u",&n) != EOF){
    hanoi(n,'A','B','C');
    int i,s,t=1; 
    if(n>=1){
        for(i = 1;i<=n;i++)
           t = 2*t;
           s = t-1;
    }
    printf("\n");
    printf("一共移动了%d次\n",s);
    printf("\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);
}

任务7:

#include<stdio.h>
int is_prime(int x);

int main() {
    int i, n;
    while (scanf("%d", &n) != EOF) {
        for (i = 2; i <= n; i++) {
            if (!is_prime(i) || !is_prime(n - i))continue;
            printf("%d = %d + %d\n", n, i, n - i);
            break;
        }
    }
    return 0;
}

int is_prime(int x) {
    int i;
    for (i = 2; i *i<= x; i++) {
        if (x % i == 0) {
            return 0;}
        else { 
            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)
{
    long ans,z=0,q=0,j;
    for(;s!=0;)
    {
        ans = s % 10;
        s = s / 10;
        if(ans%2 != 0)
          z = z*10 +ans;    
    }
    for(;z!=0;)
    {
        j = z % 10;
        z = z/10;
        q = q*10 + j;
        
    }
    return q;
}

 

标签:return,int,long,实验,func,ans,include
From: https://www.cnblogs.com/qwerty666/p/17273741.html

相关文章

  • 202031607225-王淑慧 实验一 软件工程准备-前期工作及预习
    实验一软件工程准备项目内容班级博客链接2023年春软件工程20级卓越班本次作业要求链接实验一软件工程准备我的课程学习目标1:学习博客园软件开发,社区使用技巧和经验2:了解Github的基本操作3:学习《现代软件工程——构建之法》本次作业在那些方面帮我实现学......
  • 202031607203-杜颖 实验一 软件工程准备 初步认识软件工程
    实验一软件工程准备项目内容班级博客链接https://edu.cnblogs.com/campus/xbsf/2020CSSE本次作业要求链接https://edu.cnblogs.com/campus/xbsf/2020CSSE/homework/12938我的课程学习目标学习软件工程的相关知识本次作业在哪些方面帮我实现学习目标学习博......
  • 实验3
    试验任务1程序源码#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);voidprint_spaces(intn);voidprint_blank_lines(intn);intmain(){intline,col,i;c......
  • 实验3 函数应用编程
    1.实验任务1task1.c1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<windows.h>5#defineN8067voidprint_text(intline,intcol,chartext[]);//函数声明8voidprint_spaces(intn);//函数声明9voidprint_bla......
  • 实验3
    实验任务1代码:#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);voidprint_spaces(intn);voidprint_blank_lines(intn);intmain(){intline......
  • 【实验】Bilibili各档清晰度
    想试试B站的视频清晰度是怎么分的,1080P的高码率和普通1080P有没有什么区别,以下是测试情况:测试视频:https://www.bilibili.com/bangumi/play/ss25672?from_spmid=666.22.0.0分档:1080P-高码率1080P720P480P360P自动注:视频均处于2倍速播放状态......
  • 202031607213-李蕊 实验一 软件工程准备--构建之法与博客首秀
    实验一软件工程准备一、实验介绍项目内容班级博客链接https://edu.cnblogs.com/campus/xbsf/2020CSSE本次作业要求链接https://edu.cnblogs.com/campus/xbsf/2020CSSE/homework/12938我的课程学习目标(1)学习博客园软件开发者学习社区使用技巧和经验。(2)了解Gi......
  • 202031607211-米乐 实验一 软件工程准备—初步认识软件工程
    实验一软件工程准备项目内容班级博客链接2023年春软件工程(2020级计算机科学与技术)本次作业要求链接实验一软件工程准备我的课程学习目标学会使用博客园进行学习、了解Github的基本操作、阅读《现代软件工程——构建之法》本次作业帮我实现的学习目标能够......
  • 实验3
    Task1<实验结论>#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);//函数声明voidprint_spaces(intn);//函数声明voidprint_blank_lines(intn)......
  • 实验3
    实验1实验代码#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);voidprint_spaces(intn);voidprint_blank_lines(intn);intmain(){ intline,col,......