2018上C语言程序设计(高级)作业-第3次作业

6-1 输出月份英文名

设计思路

1、算法

第一步:看函数,看函数声明

第二步:理解分析

2、流程图如下

代码如下

char *a[12][15]={"January","February","March","April","May","June","July","August","September","October","November","December"};
char *getmonth( int n )
{
  int i;
  for(i=1;i<=12;i++)
  {
    if(i==n)
    {
      return a[i-1];
    }
  }
  return NULL;

}

错误

6-2 查找星期

设计思路:

1、算法

2、流程图

代码

char *a[][15]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
int getindex( char *s )
  int i;
  for(i=0;i<7;i++)
  {
    if(strcmp(s,a[i])==0)
    return i;
  }
  return -1;
}

错误

6-3 计算最长的字符串长度

设计思路

算法

2、流程图

实验代码

int max_len( char *s[], int n )
{
  int i,max=0,t=0;
  max=strlen(s[0]);
  for(i=1;i<n;i++)
  {
     t=strlen(s[i]);
     if(max<t)
     max=t;
  }
  return max;
}

错误

学生成绩链表处理

设计思路

1、算法

2、流程图

实验代码

#include<string.h>
struct stud_node *createlist()
{
    struct stud_node *p, *ptr, *head=NULL;
    int    num;
    char   name[20];
    int    score;
    scanf("%d",&num);
    while (num != 0)
    {
        scanf("%s %d",name,&score);
        p = (struct stud_node *)malloc(sizeof(struct stud_node));
        p->num = num;
        strcpy(p->name, name);
        p->score = score;
        p->next = NULL;
        if (head == NULL)
        {
            head = p;
        }
        else
        {
            ptr->next = p;
        }
        ptr = p;
        scanf("%d",&num);
    }
    return head;
}
struct stud_node *deletelist( struct stud_node *head, int min_score )
{
    struct stud_node *ptr1, *ptr2;
    while (head != NULL && head->score < min_score)
    {
        ptr2 = head;
        head = head->next;
        free(ptr2);
    }
    if (head == NULL)
        return NULL;
    ptr1 = head;
    ptr2 = head->next;
    while (ptr2 != NULL)
    {
        if (ptr2->score < min_score) {
            ptr1->next = ptr2->next;
            free(ptr2);
        }
        else
            ptr1 = ptr2;
        ptr2 = ptr1->next;
    }
    return head;
}

错误

奇数值结点链表

设计思路

1、算法

2、流程图

实验代码

struct ListNode *readlist()
{
  struct ListNode *head=NULL,*p=NULL,*tail=NULL;
  int data;
  scanf("%d",&data);
  while(data!=-1)
  {
    p=(struct ListNode *)malloc(sizeof(struct ListNode));
    p->data=data;
    p->next=NULL;
    if(head==NULL)
    {
      head=p;
    }else
    {
      tail->next=p;
    }
    tail=p;
    scanf("%d",&data);
  }
  return head;
}
struct ListNode *getodd( struct ListNode **L )
{
   struct ListNode *p=*L,*a,*b,*head1,*head2,*p1=NULL,*p2=NULL;
    head1=(struct ListNode*)malloc(sizeof(struct ListNode));
    head2=(struct ListNode*)malloc(sizeof(struct ListNode));
    head1->next=NULL;
    head2->next=NULL;
    a=head1;
    b=head2;
    for(;p!=NULL;p=p->next)
    {
        if(p->data%2!=0)
        {
          if(p1==NULL)
          p1=p;
          else
            a->next=p;
            a=p;
        }
        else
        {
          if(p2==NULL)
          p2=p;
          else
            b->next=p;
            b=p;
        }
    }
    a->next=NULL;
    b->next=NULL;
    *L=p2;
    return p1;
} 

错误

总结

学习了二级指针,但不太懂,很多流程图还不会弄。

原文地址:https://www.cnblogs.com/qiuguanhua/p/8910014.html

时间: 2024-10-12 07:41:15

2018上C语言程序设计(高级)作业-第3次作业的相关文章

2018上C语言程序设计(高级)作业- 第0次作业

1.翻阅邹欣老师博客关于师生关系博客,并回答下列问题 1)最理想的师生关系是健身教练和学员的关系,在这种师生关系中你期望获得来自老师的哪些帮助? 师生间的人际关系,是在教学过程中师生交往的基础上,通师生相互影响.相互认识.相互间信息交流而形成的.师生之间通过言语和非言语两种形式彼此传递信息和交流思想.观点.态度.情感等,双方交流的愿望.目的.动机.心理状态以及交流的时间.态度.方式等影响着交往的程度和水平,由此决定着二者之间的关系亲近程度,从而影响着学生对教师的评价,进而影响着孩子的学习:影响学

2018上C语言程序设计(高级)作业- 第4次作业

作业要求一 作业要求三.学习总结和进度 1.Git地址: 地址 2.点评3个同学的本周作业(在作业中给出被点评同学博客的链接),并邀请3名同学点评你的作业. 点评的三位同学: 3.请用表格和折线图呈现你本学期的代码行数和所用时间.博客字数和所用时间. 表格: 折线图: 4.本学期课程即将结束,请总结下你本课程的收获,回顾第0次作业,你是否实现了你的目标? 回顾第0次作业,我在新学期开始的时候给自己定的目标是"希望其表现在当拿到一个项目的时候在审题方面,在想方法.修bug方面都能有很大的提升.&q

2018上C语言程序设计(高级)作业-第1次作业

一.6-1 计算两数的和与差 1.设计思路: 1)认真读题,弄清题目已知信息: 2)理清思路,整理组织答案: 3)输出提交: 4)流程图如下: 2.实验代码如下: viod sum_diff(float op1,float op2,float *pusm,float *pdiff) { *pusm=op1+op2; *pdiff=op1-op2; } 3.本题调试过程碰到问题及解决办法 主函数定义多加了":",当时为了方便是在题目中的接口定义中粘贴过来的,没留意后面多加了个分号. 6-

2018上c语言第0次作业

随笔: 1.翻阅邹欣老师博客关于师生关系博客,并回答下列问题,每个问题的答案不少于500字: (提示):邹欣老师的那篇博客地址:http://www.cnblogs.com/xinz/archive/2011/05/16/2048044.html (1)最理想的师生关系是健身教练和学员的关系,在这种师生关系中你期望获得来自老师的哪些帮助? 答:对此问题,我先说一下我对于健身教练和学员关系的理解.首先是学员想要学,学员对他未来的目标是有要求的,他想要学成什么样每个人需求不同,侧重点也是不同的.而老

《Java语言程序设计》大作业报告 九宫格游戏

    <Java语言程序设计>大作业报告     中国石油大学(北京)2015 - 2016 学年第二学期     班级:_____计算机14-1_______ 姓名:_____  许 恺_________________ 学号:______2014011329___________     题意分析 程序首先需要九个可以移动的格子,大小相等,有字符串标示,其次要可以相应鼠标和键盘方向键的控制,可以自由移动,并且与此同时记录步数,最后在满足条件时弹出对话框并显示步数以及是否打破记录,关于打破

2018上第三次作业

要求一:完成PTA作业 答:作业已完成! 要求二:pta作业编程题目的解题思路和调试过程记录 C高级第三次作业(1) 完成情况如图: 第一题:输出月份英文名 1.设计思路: (1)算法: 第一步:定义一个指针数组,数组内容为各个月份,再定义一个整形变量s: 第二步:如果n的值在1~12之间,那么就返回s: 第三步:如果n值不在1~12,那么就把NULL赋值给s,再返回s. (2)流程图: 主函数 调用函数 2.实验代码: char *getmonth( int n ){ int s; char

2018年秋季学期《c语言程序设计》学习总结

<c语言程序设计>第四周学习总结 <c语言程序设计>第五周学习总结 <c语言程序设计>第六周学习总结 <c语言程序设计>第七周学习总结 <c语言程序设计>第八周学习总结 <c语言程序设计>第九周学习总结 <c语言程序设计>第十周学习总结 <c语言程序设计>第十一周学习总结 <c语言程序设计>第十二周学习总结 <c语言程序设计>第十三周学习总结 原文地址:https://www.cnblo

2018年秋季学期《c语言程序设计》助教总结

<c语言程序设计>第六周助教总结 <c语言程序设计>第七周助教总结 <c语言程序设计>第八周助教总结 <c语言程序设计>第九周助教总结 <c语言程序设计>第十周助教总结 <c语言程序设计>第十一周助教总结 <c语言程序设计>第十二周助教总结 <c语言程序设计>第十三周助教总结 原文地址:https://www.cnblogs.com/lqx0123/p/10122313.html

2018年秋季学期《c语言程序设计》编程总结

<c语言程序设计>第四周编程总结 <c语言程序设计>第五周编程总结 <c语言程序设计>第六周编程总结 <c语言程序设计>第七周编程总结 <c语言程序设计>第八周编程总结 <c语言程序设计>第九周编程总结 <c语言程序设计>第十周编程总结 <c语言程序设计>第十一周编程总结 <c语言程序设计>第十二周编程总结 <c语言程序设计>第十三周编程总结 原文地址:https://www.cnblo