第九次作业(有好多都彻底不懂了)

第一个:题目出得很有意思,很好玩。把首尾的表示方法理解了,还将if语句熟练运用,加深了对if语句的了解。

#include<stdio.h>
#include<string.h>
void check(char str[])
{
    int i,len;
    len=strlen(str);
    for(i=0;i<len;i++)
    {
        if(str[i]!=str[len-1-i])
        {
            printf("输入的%s不是对称的字符串;\n",str);
            return 0;
        }
    }
    printf("输入的%s是对称的字符串;\n",str);
}
int main()
{
    char str[100];
    printf("输入要判断的字符串:");
    scanf("%s",str);
    check(str);
    return 0;
}

作业2:就是直接按照老师上课的意思写,上课听懂了,所以就很好理解。唯一难一点的就是将字母变成字符串,还是不是很理解他的写法,用了很长时间去了解。

#include <stdio.h>
#include <string.h>
void bubble_sort_number(int num[],int max)
{
    int i,j,temp;
    for(i=0;i<max-1;i++)
    {
        for(j=0;j<max-1-i;j++)
        {
            if(num[j]>num[j+1])
            {
                temp=num[j];
                num[j]=num[j+1];
                num[j+1]=temp;
            }
        }
    }
    printf("升序排序结果为:");
    for(i=0;i<max;i++)
        printf("%d ",num[i]);
}
void bubble_sort_string(char str[][100],int max)
{
    int i,j;
    char temp[100];
    for(i=0;i<max-1;i++)
    {
        for(j=0;j<max-1-i;j++)
        {
            if(strcmp(str[j],str[j+1])>0)
            {
                strcpy(temp,str[j]);
                strcpy(str[j],str[j+1]);
                strcpy(str[j+1],temp);
            }
        }
    }
    printf("升序排序结果为:");
    for(i=0;i<max;i++)
        printf("%s ",str[i]);
}

int main()
{
    int num[100],select,i,n;
    char str[100][100];
    printf("输入1进行输入若干个数的排序功能,输入2进行输入若干学生姓名的排序功能\n");
    scanf("%d",&select);
    printf("输入数量:");
    scanf("%d",&n);
    if(select==1)
    {
        printf("依次输入%d个数字,用空格隔开:",n);
        for(i=0;i<n;i++)
            scanf("%d",&num[i]);
        bubble_sort_number(num,n);
    }
    if(select==2)
    {
        printf("依次输入%d个姓名,用空格隔开:",n);
        for(i=0;i<n;i++)
            scanf("%s",str[i]);
        bubble_sort_string(str,n);
    }
    return 0;
}

作业3:上课虽然讲的不多,但是看上去跟冒泡的意思很像。然后我就迷迷瞪瞪的写了一下下,好像还能运行,那就交了吧。

#include <stdio.h>
#include <string.h>
void select_sort_number(int num[],int max)
{
    int i,j,k,temp;
    for(i=0;i<max-1;i++)
    {
        k=i;
        for(j=i+1;j<max;j++)
        {
            if(num[k]>num[j])
            {
                temp=num[k];
                num[k]=num[j];
                num[j]=temp;
            }
        }
    }
    printf("升序排序结果为:");
    for(i=0;i<max;i++)
        printf("%d ",num[i]);
}
void select_sort_string(char str[][100],int max)
{
    int i,j,k;
    char temp[100];
    for(i=0;i<max-1;i++)
    {
        k=i;
        for(j=i+1;j<max;j++)
        {
            if(strcmp(str[k],str[j])>0)
            {
                strcpy(temp,str[k]);
                strcpy(str[k],str[j]);
                strcpy(str[j],temp);
            }
        }
    }
    printf("升序排序结果为:");
    for(i=0;i<max;i++)
        printf("%s ",str[i]);
}

int main()
{
    int num[100],select,i,n;
    char str[100][100];
    printf("输入1进行输入若干个数的排序功能,输入2进行输入若干学生姓名的排序功能\n");
    scanf("%d",&select);
    printf("输入数量:");
    scanf("%d",&n);
    if(select==1)
    {
        printf("依次输入%d个数字,用空格隔开:",n);
        for(i=0;i<n;i++)
            scanf("%d",&num[i]);
        select_sort_number(num,n);
    }
    if(select==2)
    {
        printf("依次输入%d个姓名,用空格隔开:",n);
        for(i=0;i<n;i++)
            scanf("%s",str[i]);
        select_sort_string(str,n);
    }
    return 0;
}

作业4:这个求助了一个大神,表示我还是没有怎么理解。(ps:第五个更不会,跟张照行一样,没看懂百度百科。他也说他讲不明白,无能为力了。)好像运行有问题。我尽力了。。。。

#include <string.h>
void insert_sort_number(int num[],int number,int max)
{
    int i,j;
    for(i=0;i<max;i++)
        if(number<num[i])
            break;
    for(j=max-1;j>=i;j--)
        num[j+1]=num[j];
    num[i]=number;
    printf("升序排序结果为:");
    for(i=0;i<max;i++)
        printf("%d ",num[i]);
}
void insert_sort_string(char str[][100],char string[100],int max)
{
    int i,j;
    for(i=0;i<max;i++)
        if(strcmp(string,str[i])<0)
            break;
    for(j=max-1;j>=i;j--)
        strcpy(str[j+1],str[j]);
    strcpy(str[i],string);
    printf("升序排序结果为:");
    for(i=0;i<max;i++)
        printf("%s ",str[i]);
}
int main()
{
    int num[100],select,i,n,insert_num;
    char str[100][100],insert_str[100];
    printf("输入1进行输入若干个数的排序功能,输入2进行输入若干学生姓名的排序功能\n");
    scanf("%d",&select);
    printf("输入数量:");
    scanf("%d",&n);
    if(select==1)
    {
        printf("依次按照升序顺序输入%d个数字,用空格隔开:",n);
        for(i=0;i<n;i++)
            scanf("%d",&num[i]);
        printf("输入要插入的数字:");
        scanf("%d",&insert_num);
        insert_sort_number(num,insert_num,n+1);
    }
    if(select==2)
    {
        printf("依次按照升序顺序输入%d个姓名,用空格隔开:",n);
        for(i=0;i<n;i++)
            scanf("%s",str[i]);
        printf("输入要插入的姓名:");
        scanf("%s",insert_str);
        insert_sort_string(str,insert_str,n+1);
    }
    return 0;
}
时间: 2024-12-26 16:47:25

第九次作业(有好多都彻底不懂了)的相关文章

张照行 的第九次作业

1.果然第七次作业好难啊,做完之后增加了好多知识,现在用到一点都不费力啊,很方便就写出来了 #include <stdio.h> #include <string.h> void aaa() { char a[100]; int length,time=0,i; printf("请输入字符串:"); scanf("%s",a); length=strlen(a); for(i=0;i<length/2;i++) { if(a[i] !=

基于案例SQL优化第九课作业分享

默认统计信息收集: 1. 11g默认启动了统计信息收集的任务,默认运行时间是周一到周五晚上10点和周6,周天的早上6点 2. 你也可以关闭自动统计新收集任务,选择手工收集的方式,但是一般不建议这样操作. 动态统计信息: 1. 统计信息默认情况下是每天晚上10点半后收集,如果新建对象还没来得级收集统计信息,就采用动态采样的方式. 2. 具体在set autotrace 跟踪的执行计划中,可以看到类似:- dynamic sampling used for this statement (level

2017-2018-1 20179205《Linux内核原理与设计》第九周作业

<Linux内核原理与设计>第九周作业 视频学习及代码分析 一.进程调度时机与进程的切换 不同类型的进程有不同的调度需求,第一种分类:I/O-bound 会频繁的进程I/O,通常会花费很多时间等待I/O操作的完成:CPU-bound 是计算密集型,需要大量的CPU时间进行运算,使得其他交互式进程反应迟钝,因此需要不同的算法来使系统的运行更高效,以及CPU的资源最大限度的得到使用.第二种分类包括批处理进程(batch process):实时进程(real-time process)以及交互式进程

2017-2018-2 20179205《网络攻防技术与实践》第九周作业

<网络攻防技术与实践>第九周作业 视频学习总结 一.KaliSecurity压力测试工具 ??压力测试通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能够提供的最大的服务级别的测试.通俗地讲,压力测试是为了测试应用程序的性能会变得不可接受. ??Kali下压力测试工具包含VoIP压力测试.Web压力测试.网络压力测试及无线压力测试. 1.Voip压力测试工具 包括iaxflood和inviteflood 2.web压力测试工具:THC-SSL-DOS ??借助THC-SSL-DOS攻击工

机电传动控制第九周作业(一)

<机电传动控制>第九周作业(一) 1单相桥式晶闸管整流电路仿真 搭建的模型图: 当触发角为pi/4时,仿真结果为: 当触发角为pi/2时:仿真结果为: 触发角为pi/2,电感值为0.01时,仿真结果: 触发角为pi/2,电感值为1时,仿真结果为: 触发角为pi/2,电感值为0.5时,仿真结果: 触发角为pi/4,电感值为0.5时,仿真结果: 2三相六脉波桥式晶闸管整流电路仿真 搭建的电路图: 触发角为0,仿真结果: 触发角为pi/4,仿真结果: 触发角为pi/2,仿真结果: 触发角为0,电感为

机电传动控制作业第九周作业补充

机电传动控制作业第九周作业补充: 手绘波形图: 3. 直流电机开环调压调速系统模型搭建 搭建的电路图: 仿真结果之一: 问题: 我按照上图所示的电路进行仿真时,在调节电源电压的大小和触发角时,发现很难调节到使电机转速刚好在额定转速下运行,尤其在引入电感后,更加难以调节.所以我想问下老师我这个电路图搭建的有没有问题?我需要从何处改进呢?

Week09《java程序设计》第九次作业总结

Week09<java程序设计>第九次作业总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 答: 2. 书面作业 本次作业题集集合 1. List中指定元素的删除(题集题目) 1.1 实验总结.并回答:列举至少2种在List中删除元素的方法. 答: 实验总结:在public static List 删除元素的方法: 1. 从list的后面开始删除 for (int i =list.size()-1 ; i >-1; i--) { if(lis

201621123042《java程序设计》第九次作业

1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集集合 1. List中指定元素的删除(题集题目) 1.1 实验总结.并回答:列举至少2种在List中删除元素的方法. 答:创建一个list,add输入元素,用list.get(i).equals(str)来判断是否要删除元素,注意该题删除元素的顺序需要从后面开始,如果从前面开始会因为i的变化导致漏掉一些元素. 删除List中元素的方法: (

《网络攻防第九周作业》

一.教材学习 第九章:恶意代码安全攻防 恶意代码指的是使计算机按照攻击者的意图执行以达到恶意目标的指令集.恶意代码的执行目标是由编写者决定,满足他们心理上或利益上的一些需求,典型的攻击目标包括: (1)单纯的技术炫耀或恶作剧: (2)远程控制被攻击主机,使之能成为攻击者的傀儡主机,满足其实施跳板攻击或进一步传播恶意代码的需要: (3)窃取私人信息(如用户账号/密码,信用卡信息等)或机密信息(如商业机密.政治军事机密等): (4)窃取计算.存储.带宽资源: (5)拒绝服务.进行破环活动(如破环文件