实验四

Posted qpbd1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验四相关的知识,希望对你有一定的参考价值。

源代码1

#include<stdio.h>
#define N 4
int main()
    int a[N] = 2,0,2,3;
    char b[N] =\'2\',\'0\',\'2\',\'3\';
    int i;

    printf("sizeof(int) = %d\\n",sizeof(int));
    printf("sizeof(char) = %d\\n",sizeof(char));
    printf("\\n");

    for(i =0;i<N;++i)
        printf("%p:%d\\n",&a[i],a[i]);
    printf("\\n");

    printf("a=%p\\n",a);
    printf("b=%p\\n",b);

    system("pause");

    return 0;

截图1

源程序1_2

 

#include <stdio.h>
#define N 2
#define M 3
 
int main() 
    int a[N][M] = 1, 2, 3, 4, 5, 6;
    char b[N][M] = \'1\', \'2\', \'3\', \'4\', \'5\', \'6\';
    int i, j;
 
    for (i = 0; i < N; ++i)
        for (j = 0; j < M; ++j)
            printf("%p: %d\\n", &a[i][j], a[i][j]);
 
    printf("\\n");
 
    printf("a[0] = %p\\n", a[0]);
    printf("a[1] = %p\\n", a[1]);
    printf("\\n");
 
    for (i = 0; i < N; ++i)
        for (j = 0; j < M; ++j)
            printf("%p: %c\\n", &b[i][j], b[i][j]);
    printf("\\n");
 
    printf("b = %p\\n", b);
    printf("b[0] = %p\\n", b[0]);
    printf("b[1] = %p\\n", b[1]);
    printf("\\n");

    system("pause");
    return 0;

截图1_2

源程序2

#include <stdio.h>
#include <string.h>

#define N 80

void swap_str(char s1[N], char s2[N]);
void test1();
void test2();

int main() 
    printf("测试1: 用两个一维维数组,实现两个字符串交换\\n");
    test1();

    printf("\\n测试: 用二维数组,实现两个字符串交换\\n");
    test2();

    return 0;


void test1() 
    char views1[N] = "hey, C, I hate u.";
    char views2[N] = "hey, C, I love u.";

    printf("交换前: \\n");
    puts(views1);
    puts(views2);

    swap_str(views1, views2);

    printf("交换后: \\n");
    puts(views1);
    puts(views2);


void test2() 
    char views[2][N] = "hey, C, I hate u.", "hey, C, I love u.";

    printf("交换前: \\n");
    puts(views[0]);
    puts(views[1]);

    swap_str(views[0], views[1]);

    printf("交换后: \\n");
    puts(views[0]);
    puts(views[1]);


void swap_str(char s1[N], char s2[N]) 
    char tmp[N];

    strcpy(tmp, s1);
    strcpy(s1, s2);
    strcpy(s2, tmp);

截图

 

源代码3

#include<stdio.h>
#include<stdlib.h>
#define N 80
int count(char x[]);

int main()
    char words[N+1];
    int n;

    while(gets(words)!=NULL)
        n=count(words);
        printf("单词数:%d\\n\\n",n);
    
    system("pause");
    return 0;

int count(char x[])
    int i;
    int word_flag=0;
    int number=0;

    for(i=0;x[i]!=\'\\0\';i++)
        if(x[i]==\' \')
            word_flag=0;
        else if(word_flag==0)
            word_flag=1;
            number++;
        
    
return number;

截图3

源代码3.2

#include<stdio.h>
#include<stdlib.h>
#define N 1000

int main()
    char line[N];
    int word_len;
    int max_len;
    int end;
    int i;

    while(gets(line)!=NULL)
        word_len=0;
        max_len=0;
        end=0;

        i=0;
        while(1)
            while(line[i]==\' \')
                word_len=0;
                i++;
            
            while(line[i]!=\'\\0\'&&line[i]!=\' \')
                word_len++;
                i++;
            
            if(max_len<word_len)
                max_len=word_len;
                end=i;
            
            if(line[i]==\'\\0\')
                break;
        
        printf("最长单词:");
        for(i=end-max_len;i<end;++i)
            printf("%c",line[i]);
        printf("\\n\\n");
    
    system("pause");
    return 0;

截图

源程序4

#include <stdio.h>
#define N 5

//函数声明
void input(int x[],int n);
void output(int x[],int n);
double average(int x[],int n);
void bubble_sort(int x[],int n);

int main()
    int scores[N];
    double ave;
    
    printf("录入%d个分数: \\n",N);
    input(scores,N);
    
    printf("\\n输出课程分数: \\n");
    output(scores,N);
    
    printf("\\n课程分数处理:计算均分、排序...\\n");
    ave = average(scores,N);
    bubble_sort(scores,N);
    
    printf("\\n输出课程均分:%.2f\\n",ave);
    printf("\\n输出课程分数(高-->低):\\n");
    output(scores,N);
    
    system("pause");
    return 0;
 

//函数定义
//输入n个整数保存到整型数组x中
void input(int x[],int n)
    int i;
    
    for(i=0;i<n;i++)
       scanf("%d",&x[i]); 
 

//输出整形数组x中n个元素
void output(int x[],int n)
    int i;
    
    for(i=0;i<N;i++)
        printf("%d",x[i]);
    printf("\\n");
     
 

//计算整型数组中n个整数的平均值
double average(int x[],int n)
    int i;
    double s=0,a;
    
    for(i=0;i<n;i++)
       s = s+x[i];
    a = s/n;
    return a; 
 

//对整型数组x中的n个元素降序排序
void bubble_sort(int x[],int n)
    int i,j,t;
    for(i = 0;i<n;i++)
        for(j=0;j<n;j++)
          if(x[i]<x[i+1])
             t = x[i];
             x[i] = x[i+1];
             x[i+1] = t;
        
    

 

截图4

源程序5

#include<stdio.h>
#define N 100
void dec2n(int x,int n);
int main()
    int x;
    printf("输入一个十进制整数:");
    while(scanf("%d",&x)!=EOF)
        dec2n(x,2);
        dec2n(x,8);
        dec2n(x,16);

        printf("\\n输入一个十进制整数\\n");
    
    system("pause");
    return 0;
void dec2n(int x, int n)
    char s[N]="0123456789ABCDEF";
    int a[N],j,i=0;
    char q[N];
    while(x!=0)
        a[i]=x%n;
        x=x/n;
        i++;
    
    i--;
    j=0;
    while (i>=0)
        q[j]=s[a[i]];
        j++;
        i--;
    
    q[j]=\'\\0\';
    printf("%s\\n",q);

截图5

源程序6

#include<stdio.h>
#define N 100
#define M 4

void output(int x[][N],int n);
void rotate_to_right(int x[][N],int n);

int main()
    int t[][N]=21,12,13,24,
                25,16,47,38,
                29,11,32,54,
                42,21,33,10;
    printf("原始矩阵:\\n");
    output(t,M);

    rotate_to_right(t,M);
    printf("变换后矩阵:\\n");
    output(t,M);

    system("pause");
    return 0;

void output(int x[][N],int n)
    int i,j;

    for(i=0;i<n;++i)
        for(j=0;j<n;++j)
            printf("%4d",x[i][j]);
        printf("\\n");
    

void rotate_to_right(int x[][N],int n)
    int i,t,j=0;
    for(i=0;i<n;i++)
        t=x[i][n-1];
        for(j=n-1;j>=0;j--)
            x[i][j]=x[i][j-1];
        
        x[i][0]=t;
    

截图6

源程序7.1

#include<stdio.h>
#include<stdlib.h>
#define N 80
void replace(char x[],char old_char,char new_char);
int main()
    char text[N]="c programming is difficult or not,it is a question.";

    printf("原始文本:\\n");
    printf("%s\\n",text);

    replace(text,\'i\',\'*\');
    
    printf("处理后文本:\\n");
    printf("%s\\n",text);

    system("pause");
    return 0;

void replace(char x[],char old_char,char new_char)
    int i;
    for(i=0;x[i]!=\'\\0\';++i)
        if (x[i]==old_char)
            x[i]=new_char;

截图7

源程序7.2

#include<stdio.h>
#define N 80

int main()
    char str[N],ch;
    int i;

    printf("输入字符串:");
    gets(str);

    printf("输入一个字符:");
        ch = getchar();

    printf("截断处理:。。。。");
    i=0;
    while(str[i]!=\'\\0\')
        if(str[i]==ch)
            break;
        i++;
    
    str[i]=\'\\0\';
    printf("\\n截断处理后字符:%s",str);
    system("pause");
    return 0;

截图

源程序8

#include<stdio.h>
#include<string.h>
#define N 5
#define M 20

void bubble_sort(char str[][M],int n);
int main()
    char name[][M]="Bob","Bill","Joseph","Taylor","George";
    int i;
    printf("输出初始名单:\\n");
    for(i=0;i<N;i++)
        printf("%s\\n",name[i]);

    printf("\\n排序中。。。\\n");
    bubble_sort(name,N);
    
    printf("\\n按字典序输出名单:\\n");
    for(i=0;i<N;i++)
        printf("%s\\n",name[i]);

    system("pause");
    return 0;

void bubble_sort(char str[][M], int n)

    int i,j,k=0;
    char tmp[M];
    for (i=1;i<n;i++)
        for (j=n-1;j>=i;j--)
            k=0;
            if(str[j][k]==str[j-1][k])
            while( str[j][k]==str[j-1][k] && str[j][k]!=\'\\0\' && str[j-1][k]!=\'\\0\')
            k++;
            
            if (str[j][k]<str[j-1][k] || str[j][k]==\'\\0\')
            
            strcpy(tmp, str[j]);
            strcpy(str[j], str[j-1]);
            strcpy(str[j-1], tmp);
            
            
        
    

截图

 

区块链技术与应用实验报告(实验四)

文章目录

区块链技术与应用实验报告(实验四)

关于作者

  • 作者介绍


    🍊 博客主页作者主页
    🍊 简介:云计算领域优质创作者🏆、在校期间参与众多计算机相关的省赛、国赛,斩获系列荣誉。考取华为资深工程师、红帽工程师等系列认证。

    🍊 关注我简历模板、学习资料、文档下载、技术支持 都可以私信我哦!
    让生命像一团热烈燃烧的火,直到死亡才能使它熄灭


一、实验目的

  • 实验目的

    # 掌握区块链钱包的概念及分类
    # 体验比特币靓号生成、冷钱包和脑钱包的制作过程,感受比特币钱包的奥妙所在
    

二、实验原理简介

  • 实验简介

    #与普通钱包类似,作为数字货币,某些区块链也有“钱包”。只不过,区块链钱包中放的并不是现金,而是用户地址的私钥。换言之,区块链钱包和普通钱包都用来存放相应的货币系统中个人用户最重要、最害怕丢失的物件。
    
    #区块链钱包常按照下面几种方法分类:按照节点数据是否存储完整,可分为全节点钱包(完整存储区块链所有交易数据)和轻节点钱包(只保存了区块链钱包的基本功能);
    
    # 按照区块链钱包是否联网,可分为冷钱包(私钥在本地存储,不联网)和热钱包(联网);按用户是否自行持有私钥,可分为中心化钱包(第三方机构代管用户私钥)和去中心化钱包(用户自行持有钱包的私钥);按是否支持多种币种,可分为单币种钱包、多币种钱包、全币种钱包。
    

三、实验环境

  • 实验环境

    # 实验环境
    本实验在 PC机上即可进行,操作系统不限。
    
    # 这里使用 windows 平台做演示
    windows 10 专业版
    

四、实验步骤

1.运行 vanitygen.exe 程序

  • 01.打开 CMD,运行vanitygen.exe,注意所需要的参数

2.制作比特币地址

  • 02.输入一个空格和“1234”,这样就得到了一个以“1234”为开头的比特币地址,如图4-1所示。第一行是难度,第二行是限定筛选条件,第三行是碰到的地址,第四行就是私钥

  • 随着指定字串的加长,难度是呈指数增长的,如果我们指定的是字母,那么忽略大小写可以降低难度,忽略大小写用参数“-i”

练习

以上是关于实验四的主要内容,如果未能解决你的问题,请参考以下文章

区块链技术与应用实验报告(实验四)

20165332实验四 Android开发基础

2018-2019-20175205实验四《Android程序设计》实验报告

2017-2018-2 20165215 实验四《Android开发基础》实验报告

2017-2018-2 20165336 实验四《Android开发基础》实验报告

实验四实验报告