首页 > 其他分享 >实验4

实验4

时间:2023-04-16 20:23:36浏览次数:31  
标签:return int len char ++ 实验 printf

任务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");

    // 输出int型数组a中每个元素的地址、值 
    for (i = 0; i < N; ++i)
        printf("%p: %d\n", &a[i], a[i]);

    printf("\n");

    // 输出char型数组b中每个元素的地址、值 
    for (i = 0; i < N; ++i)
        printf("%p: %c\n", &b[i], b[i]);
    
    printf("\n");
    
    // 输出数组名a和b对应的值 
    printf("a = %p\n", a); 
    printf("b = %p\n", b); 

    return 0;
}

 1.int型数组a在内存中是连续存放的,每个元素占用4个字节

2.char型数组在内存中也是连续存放的,每个元素占用1个字节

3.数组名a对应的值和&a[0]一样,数组名b对应的值和&b[0]一样

任务2

 (1)

#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;
 
    // 输出int型二维数组a中每个元素的地址、值
    for (i = 0; i < N; ++i)
        for (j = 0; j < M; ++j)
            printf("%p: %d\n", &a[i][j], a[i][j]);
     
    printf("\n");
 
    // 输出int型二维数组名a, 以及,a[0], a[1]的值
    printf("a = %p\n", a);
    printf("a[0] = %p\n", a[0]);
    printf("a[1] = %p\n", a[1]);
    printf("\n");
 
 
    // 输出char型二维数组b中每个元素的地址、值
    for (i = 0; i < N; ++i)
        for (j = 0; j < M; ++j)
            printf("%p: %c\n", &b[i][j], b[i][j]);
    printf("\n");
 
    // 输出char型二维数组名b, 以及,b[0], b[1]的值
    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;
}

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

 

 static特性:只读取一次数据,数据在程序运行过程中不断被刷新

任务3

(1)

#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 f;
 if(n==1)
 f=1;
 else
 f=(func(n-1)+1)*2-1;
 
 return f;
 
}

 (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>
#include<stdlib.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", 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;
}

void input(int x[], int n){
    int i;

    for(i = 0; i < n; ++i)
        scanf("%d", &x[i]);
}

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

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

double average(int x[], int n){
    int i;
    double s = 0;

    for(i = 0; i < n; ++i)
        s = s + x[i];
    return s / n;
}

void bubble_sort(int x[], int n){
    int i, j, t;

    for(i = 0; i < n-1; ++i)
        for(j = 0; j < n-i-1; ++j)
            if(x[j] > x[j+1]){
            t = x[j];
            x[j] = x[j+1];
            x[j+1] = t;
            }
}

任务5

 

标签:return,int,len,char,++,实验,printf
From: https://www.cnblogs.com/chz-0225/p/17323954.html

相关文章

  • Web实验二 服务器端简单程序设计
    实验项目名称:实验二  服务器端简单程序设计 一、实验目的通过一个小型网站的开发,掌握JSP基础知识,加深对session,request,response,cookie等对象的理解,掌握其使用方法,进一步深入掌握HTML、CSS和JavaScript等知识。二、实验内容和基本要求1)编写index.jsp文件,展示某一类物品或......
  • MPLS-TE前三个基础实验
    MPLS-TE的基础配置实验目标:所有的路由器都运行MPLS-TE实现从AR1到10.0.4.4的MPLS-TE负载基础配置#R1syssysnAR1intl0 ipadd10.0.1.132intg0/0/1 ipadd10.0.15.124intg0/0/0 ipadd10.0.12.124ospf1router-id10.0.1.1 a0 network10.0.1.10.......
  • 实验4 数组应用编程
    task1_1#include<stdio.h>#defineN4intmain(){ inta[N]={2,0,2,3}; charb[N]={'2','0','2','3'}; inti; printf("sizeof(int)=%d\n",sizeof(int)); printf("sizeof(char)=%d\n",sizeo......
  • Huawei VRRP+MSTP组网实验-ensp
    一、基本环境IP地址规划:互联网公网IP地址:Router:121.1.1.0/30内网互联地址:Leaf1:10.0.0.0/30Leaf2:10.0.1.0/30内网vlan网关:vlan100:192.168.100.124vlan200:192.168.200.124二、拓扑结构三、实验配置出口网关ISP网络配置[ISP]interfaceGigabitEthernet0/0/0......
  • 按键控制蜂鸣器实验
    sourcecodemodulekey_beep(inputsys_clk,inputsys_rst_n,inputkey,outputregbeep);reg[19:0]cnt;regkey_delay_20ms;regkey_delay_20ms_last;regkey_last;always@(posedgesys_clkornegedgesys_rst_n)beginif(!sys_rst_n)......
  • led闪烁实验
    sourcecodemoduleled(inputsys_clk,//系统时钟inputsys_rst_n,//系统复位,低电平有效output[1:0]led//LED灯);//regdefinereg[25:0]cnt;//*****************************************************//**......
  • 按键控制灯实验
    sourcecodemodulekey_led(inputsys_clk,//系统时钟inputsys_rst_n,//系统复位,低电平有效input[1:0]key,//按键output[1:0]led//LED灯);reg[25:0]cnt;wire[1:0]led_pattern1;wire[1:0......
  • msp430点灯实验
    title:msp430点灯实验date:2023-04-1515:31:25description:基于msp430f5529点灯实验一、实验内容使用开发板:msp430f5529使用的LED灯:为开发板上自带的UserLEDs(LED1、LED2)环境:CCS(Version:12.2.0.00009)通过ccs编写代码,控制LED1和LED2交替闪烁二、开发板介绍......
  • 华为认证数通高级证书实验
    实验拓扑注:代码块为各交换机路由器中的配置命令配置拓扑文件实验要求实现全网通实验配置SW3[SW3]vb1020[SW3]inte0/0/1[SW3-Ethernet0/0/1]polink-ta[SW3-Ethernet0/0/1]podev10[SW3-Ethernet0/0/1]inte0/0/2[SW3-Ethernet0/0/2]polink-ta[SW3-Ethernet0/0/2]po......
  • 实验一 密码引擎-4-国䀄算法交叉测试
    任务详情02人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名1在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图2在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法)3在Ubuntu中使用OpenSSL用SM3算法计算上述文件的Hash值,然后......