实验九总结

二维数组
定义形式为:类型名 数组名 【行长度】【列长度】

int a[6][6];

引用二位数的的元素要制定两个下表,及行下标和列下标:数组名【行下标】【列下标】

同一维数组相同其合理的取值范围是【0,行(列)长度-1】

在二位数组的输入中是按照如下顺序输入的

1 2 3
4 5 6
7 8
9

在定义二维数组的过程中,有两种方法

1.分行赋初值

类型名 数组名【行长度】【列长度】={{初值表0},......{初值表k},......}

int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}

此时为:1 2 3
           4 5 6
           7 8 9

与一维数组相同二维数组也可只为部分元素赋值

2.顺序赋值法

类型名 数组名【行长度】【列长度】={。。。。。。。。。。}

int a[3][3]={1,2,3,4,5,6,7,8,9}

等同于上者

二维数组的赋值一般使用循环嵌套

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

一位字符数组是存放字符型数据的一维数组,所以他的定义初始化等均与一维数组相同,在此不再赘述

字符串是一串字符,以\0结尾,在c语言中被视为特殊的一维字符数组

他的定义一般为

while((str[i]=getchar())!=‘\n‘)
        i++;
    str[i]=‘\0‘;

第一题

#include<stdio.h>
int main()
{
    int a[6][6];
    int i,j,n,m,temp,x;
    //为二维数组赋值
    printf("ENTER: x");
    for(n=0;n<6;n++)
        for(m=0;m<x;m++)
            scanf("%d",&a[i][j]);
    //行列互换
    for(n=0;n<6;n++)
        for(m=0;m<x;m++)
            if(i<=j)
            {
                temp=a[i][j];
                a[i][j]=a[j][i];
                a[j][i]=temp;
            }
    for(n=0;n<6;n++)
        for(m=0;m<6;m++)
            printf("&4d",a[i][j]);
        printf("\n");
    return 0;
} 

第二题

#include <stdio.h>
int main()
{
    int i,j;
    int a[9][9];
    for(i=1;i<=9;i++)
        for(j=1;j<=9;j++)
            a[i-1][j-1]=i*j;
    for(i=0;i<9;i++)
    {
        for(j=0;j<9;j++)
        printf("%4d",a[i][j]);
    printf("\n");
    }
}

第三题

#include<stdio.h>
int main()
{
    char str[80];
    int i=0,temp=0;
    char m;
    printf("ENTER string:");
    while((str[i]=getchar())!=‘\n‘)
        i++;
    str[i]=‘\0‘;
    printf("请输入要查询字母:");
    scanf("%c",&m);
    for(i=0;i<80;i++)
        if(str[i]==m)
        {
            printf("是第%d个字母",i);
            temp=1;
            break;
        }
    if(temp==0)
        printf("NOT FOUND\n");
    return 0;
}

第四题

#include <stdio.h>
int main()
{
    char a[80];
    static char b[80];
    int  i,n,m,;
    printf("请输入字符串(80长度以内):\n");
    while((a[m]=getchar())!=‘\n‘)
        m++;
    a[m]=‘\0‘;
    for(i=0;i<80;i++)
        for(n=m;n>=0;n--)
            b[n]=a[i];
    for(i=0;i<80;i++)
        printf("%c",b[i]);
    return 0;
}
时间: 2024-07-28 15:11:34

实验九总结的相关文章

王爽汇编实验九

1 ;实验九 2 assume cs:code,ds:data 3 data segment 4 db 'welcome to masm!' 5 data ends 6 7 code segment 8 start : 9 mov ax,data 10 mov ds,ax;定义数据段 11 12 mov ax,0B800h 13 mov es,ax;定义显示段 14 15 mov cx,16 16 mov si,0 17 mov di,10*160+80 ;将输出显示放在第10行中间 18 19

Packet Tracer 5.0实验(九) 路由器RIP动态路由配置

Packet Tracer 5.0实验(九) 路由器RIP动态路由配置 一.实验目标 掌握RIP协议的配置方法: 掌握查看通过动态路由协议RIP学习产生的路由: 熟悉广域网线缆的连接方式: 二.实验背景 假设校园网通过一台三层交换机连到校园网出口路由器上,路由器再和校园外的另一台路由器连接.现要做适当配置,实现校园网内部主机与校园网外部主机之间的相互通信.为了简化网管的管理维护工作,学校决定采用RIP V2协议实现互通. 三.技术原理 RIP(Routing Information Protoc

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验九:PS/2模块③ — 键盘与多组合键

实验九:PS/2模块③ — 键盘与多组合键 笔者曾经说过,通码除了单字节以外,也有双字节通码,而且双字节通码都是 8’hE0开头,别名又是 E0按键.常见的的E0按键有,<↑>,<↓>,<←>,<→>,<HOME>,<PRTSC> 等编辑键.除此之外,一些组合键也是E0按键,例如 <RCtrl> 或者 <RAlt> .所以说,当我们设计组合键的时候,除了考虑“左边”的组合键以外,我们也要考虑“右边”的组合键.&

Linux基础入门(新版)(实验九-实验十二)

实验九 简单文本入门 一.常用的文本处理命令 二.文本处理命令 1.tr 命令 tr 命令可以用来删除一段文本信息中的某些文字.或者将其进行转换. 使用方式: tr [option]...SET1 [SET2]   常用的选项有: 选项 说明 -d 删除和set1匹配的字符,注意不是全词匹配也不是按字符顺序匹配 -s 去除set1指定的在输入文本中连续并重复的字符 操作举例: # 删除 "hello shiyanlou" 中所有的'o','l','h' $ echo 'hello sh

CCNP实验九:OSPF 帧中继实验系列2:BMA模式

一,帧中继配置 r1(config)#inter lo 0 r1(config-if)#ip add 1.1.1.1 255.255.255.0 r1(config-if)#ip ospf network point-to-p r1(config-if)#inter s1/2 r1(config-if)#en frame-relay r1(config-if)#ip add 178.1.1.1 255.255.255.0 r1(config-if)#no frame-relay inverse-

20155201 网络攻防技术 实验九 Web安全基础

20155201 网络攻防技术 实验九 Web安全基础 一.实践内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.报告内容: 1. 基础问题回答 1)SQL注入攻击原理,如何防御 SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息. SQL注入攻击的典型手段:判断应用程序是否存在注入漏洞,收集信息

20155222卢梓杰 实验九 Web安全基础

实验九 Web安全基础 今天不多bb,打开webgoat就是干好吧 1.简单字符串sql注入 可以看到这个实验说明是 "下表允许用户查看其信用卡号码.尝试插入一个SQL字符串,以显示所有信用卡号码." 下面已经显示了后台使用的sql语句是 SELECT * FROM user_data WHERE last_name = 'Your Name' 既然我们的目的是要显示所有信用卡的记录,所以我们会想到让SELECT * FROM user_data WHERE后面的表达式为永真,所以我们

2017-2018-2 20155225《网络对抗技术》实验九 Web安全基础

2017-2018-2 20155225<网络对抗技术>实验九 Web安全基础 WebGoat 1.String SQL Injection 题目是想办法得到数据库所有人的信用卡号,用Smith登录后,得到Smith的两个信用卡号,如图 但如何才能得到所有人的信用卡号呢? 只需要输入' or 1 = ' 1,这样构造可以将引号闭合,再or上一个永真式,就能屏蔽掉前面的条件. 2.Log Spoofing 在User Name中以这种格式注入:Use CR (%0d) and LF (%0a)

20155313 杨瀚 《网络对抗技术》实验九 Web安全基础

20155313 杨瀚 <网络对抗技术>实验九 Web安全基础 一.实验目的 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.基础问题回答 1.SQL注入攻击原理,如何防御 2.XSS攻击的原理,如何防御 3.CSRF攻击原理,如何防御 三.实验内容 第一阶段 原文地址:https://www.cnblogs.com/bonsai/p/9097562.html

实验九 异常、断言与日志

实验九 异常.断言与日志 实验时间 2018-10-25 1.实验目的与要求 (1) 掌握java异常处理技术: (2) 了解断言的用法: (3) 了解日志的用途: (4) 掌握程序基础调试技巧: 2.实验内容和步骤 实验1:用命令行与IDE两种环境下编辑调试运行源程序ExceptionDemo1.ExceptionDemo2,结合程序运行结果理解程序,掌握未检查异常和已检查异常的区别. //异常示例1 public class ExceptionDemo1 { public static vo