作业——8

这个作业属于哪个课程C语言程序设计Ⅱ
这个作业的要求在哪里C语言作业评价标准
我在这个课程的目标是指针与字符串
这个作业在哪个具体方面帮助我实现目标使用指针与字符串
参考文献指针和字符串(基础知识)

第七周作业

1 、使用函数删除字符串中的字符

输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入一个字符串 str个字符 c,字符串str中出现的所有字符 c 删除。
要求定义并调用函数delchar(str,c), 它的功能是将字符串str中出现的所有 c 字符删除,函数形参str的类型是字符指针,形参c的类型是char,函数类型是void
输入输出示例:括号内为说明,无需输入输出

输入样例:

3               (repeat=3)
happy new year  (字符串"happy new year")
a               (待删除的字符'a')
bee             (字符串"bee")
e               (待删除的字符'e')
111211          (字符串"111211")
1               (待删除的字符'1')

输出样例:

result: hppy new yer    (字符串"happy new year"中的字符'a'都被删除)
result: b               (字符串"bee"中的字符'e'都被删除)
result: 2               (字符串"111211"中的字符'1'都被删除)

实验代码

#include<stdio.h>
void delchar(char *str,char c);
int main (void)
{char str[1000];char n, c;int repeat,i;  scanf("%d",&repeat);for(i=0;i<repeat;i++){n=getchar();  gets(str);   c=getchar();printf("result: ");delchar(str,c); }return 0;
}void delchar(char *str,char c)
{int i;for(i=0;*(str+i)!='\0';i++){  if(*(str+i)!=c)   printf("%c",*(str+i));}printf("\n");
}

设计思路

1580745-20190412143952636-1358400105.png

本题调试过程碰到问题及解决方法

...

运行结果截图

1580745-20190412142527559-1100501934.png

2 、每个单词的最后一个字母改成大写

函数fun的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。

输入格式:

输入有两行: 第一行是n值; 第二行是n个数。

函数接口定义:

void fun( char *p );

其中 p 是用户传入的参数。函数将p所指字符串中每个单词的最后一个字母改成大写。

裁判测试程序样例:

#include <stdio.h>
void fun( char *p );
int main()
{char chrstr[64];  int d ;gets(chrstr);d=strlen(chrstr) ;chrstr[d] = ' ' ;chrstr[d+1] = 0 ;fun(chrstr);printf("\nAfter changing:   %s\n", chrstr);
return 0;
}/* 请在这里填写答案 */

输入样例:

my friend is happy

输出样例:

After changing:   mY frienD iS happY

实验代码

void fun( char *p ){int i;for(i=0;*(p+i)!='\0';i++){    if(*(p+i+1)==' ')*(p+i)=*(p+i)-'a'+'A';  }
}

设计思路

1580745-20190412151106671-257143450.png

本题调试过程碰到问题及解决方法

无。

运行结果截图

1580745-20190412145028862-1288404929.png

3 、自动售货机

如图所示的简易自动售货机,物品架1、2上共有10样商品,按顺序进行编号分别为1-10,标有价格与名称,一个编号对应一个可操作按钮,供选择商品使用。如果物架上的商品被用户买走,储物柜中会自动取出商品送到物架上,保证物品架上一定会有商品。用户可以一次投入较多钱币,并可以选择多样商品,售货机可以一次性将商品输出并找零钱。
1580745-20190411075426034-2116597099.png
用户购买商品的操作方法是:
(1)从“钱币入口”放入钱币,依次放入多个硬币或纸币。钱币可支持1元(纸币、硬币)、2元(纸币)、5元(纸币)、10元(纸币),放入钱币时,控制器会先对钱币进行检验识别出币值,并统计币值总额,显示在控制器显示屏中,提示用户确认钱币放入完毕;
(2)用户确认钱币放入完毕,便可选择商品,只要用手指按对应商品外面的编号按钮即可。每选中一样商品,售货机控制器会判断钱币是否足够购买,如果钱币足够,自动根据编号将物品进行计数和计算所需钱币值,并提示余额。如果钱币不足,控制器则提示“Insufficient money”。用户可以取消购买,将会把所有放入钱币退回给用户。

输入格式:

  • 先输入钱币值序列,以-1作为结束,再依次输入多个购买商品编号,以-1结束。

输出格式:

  • 输出钱币总额与找回零钱,以及所购买商品名称及数量。

输入样例:

1 1 2 2 5 5 10 10 -1
1 2 3 5 1 6 9 10 -1

输出样例:

Total:36yuan,change:19yuan
Table-water:2;Table-water:1;Table-water:1;Milk:1;Beer:1;Oolong-Tea:1;Green-Tea:1;

实验代码

#include<stdio.h>
#include<string.h>
int main(void)
{int n, t=0, total=0, sum;int i,j,count=0;while(n!=-1){scanf("%d",&n);if(n!=-1)total=total+n;}int b[100]={0};int price,cost=0;char a[10][20]={"Table-water","Table-water","Table-water","Coca-Cola","Milk","Beer","Oringe-Juice","Sprite","Oolong-Tea","Green-Tea"};while(b[t-1]!=-1){scanf("%d",&b[t]);t++;}for(t=0;b[t]!=-1;t++){switch(b[t]){case 1:price=1;break;case 2:price=1;break;case 3:price=1;break;case 4:price=2;break;case 5:price=2;break;case 6:price=3;break;case 7:price=3;break;case 8:price=3;break;case 9:price=4;break;case 10:price=4;break;}cost=cost+price;}if(cost<=total){printf("Total:%dyuan,change:%dyuan\n", total, total-cost);sum=t-1;        for(i=0;i<=10;i++){count=0;for(j=0;j<=sum;j++){if(i==b[j]){count++;}}if(count!=0){printf("%s:%d;",a[i-1],count);}}}else{printf("Insufficient money");}return 0;
}

设计思路

  • 将各个商品存入数组中
    用循环求出总钱数total
    计算需要买的商品的价钱
    判断输入的钱够不够
    然后作比较分别输出结果

本题调试过程碰到问题及解决方法

...

运行结果截图

1580745-20190412164218844-1720036776.png

预习的主要内容

  • 1 、字符串的表示形式
    2 、字符指针作函数参数

二、学习进度条

周/日期这周所花的时间代码行学到的知识点简介目前比较迷惑的问题
第二周4 hours35用c语言程序读取电脑中的文本文件并对其进行基础操作...
第三周4 hours69初步使用二维数组,如何写入一个矩阵...
第四周5 hours102认识了选择排序法、二分查找法和冒泡排序法以及在二维数组的定义、引用、初始化和其矩阵。...
第五周5 hours98用到二维数组,初用头文件<string.h>中的strlen函数和strcpy函数...
第六周5 hours96了解了变量、内存单元和地址之间的关系;了解了如何定义指针变量,怎样使用指针变量,怎样进行指针变量的初始化;了解了指针变量的基本运算;了解了指针作为函数参数的作用;了解了如何使用指针实现函数调用返回多个值。...
第七周5 hours130更加了解了如何使用指针与字符串...

三、学习折线图

1580745-20190412164501959-1511813621.png

四、学习感悟&结对编程

  • 多用的是以前的方法和语句,相比助教的看起来更加多累赘,原因就是对指针和字符串还没运用的那么熟练吧。对于结对编程,我还是没有和别人结对编程,还是和以前一样有遇到问题就问室友或者同学来解决,因为时间安排问题和需要结对编程的同学无法同步。

转载于:https://www.cnblogs.com/s-su/p/10687399.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue实现组件props双向绑定解决方案

注意&#xff1a; 子组件不能直接修改prop过来的数据&#xff0c;会报错 方案一&#xff1a; 用data对象中创建一个props属性的副本 watch props属性 赋予data副本 来同步组件外对props的修改 watch data副本&#xff0c;emit一个函数 通知到组件外 HelloWorld组件代码如下…

Flask系列06--(中间件)Flask的特殊装饰器 before_request,after_request, errorhandler

一.使用 Flask中的特殊装饰器(中间件)方法常用的有三个 app.before_request # 在请求进入视图函数之前app.after_request # 在请求结束视图函数之后 响应返回客户端之前app.errorhandler(404) # 重定义错误信息before_request def func():passafter_request def func(ret): # …

CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport

最近看了很多这方面的文章&#xff0c;能搜到的基本看了个遍&#xff0c;但感觉还是似懂非懂&#xff0c;知道这个东西&#xff0c;很难说出这是个什么东西&#xff0c;先整理一些概念&#xff0c;慢慢消化&#xff0c;以后慢慢探索其中的原因。 1、PX(CSS pixels) 1.1 定义 …

【转】10条你不可不知的css规则

10条你不可不知的css规则 Posted on 2006-12-20 10:33 雨中太阳 阅读(343) 评论(1) 编辑 收藏 &#xff1a;【译】10条你不可不知的css规则正文&#xff1a; Published December 6th, 2004 in CssStaff Tags: No Tags. 原文地址&#xff1a;Ten CSS Tricks You May not Know k…

Python 面向对象【1】

对象 属性 方法面向对象特征&#xff1a;分装 继承 多态【不同对象对同一方法响应不同行动】类定义class xxx:........类对象类对象支持两种操作&#xff1a;属性引用和实例化 属性引用 使用和 Python 中所有的属性引用一样的标准语法&#xff1a;类对象名.属性名 类对象创建…

福大软工 · 第八次作业(课堂实战)- 项目UML设计(团队)

1、队伍信息&#xff1a; 队伍名称&#xff1a;彳艮彳亍团队 学号名本次作业博客链接031602219奇豪(队长)https://www.cnblogs.com/S031602219/p/9822576.html041602209毓明http://www.cnblogs.com/mingsonic/p/9820702.html041602204水源http://www.cnblogs.com/littlenorthwe…

【转发】实现yolo3模型训练自己的数据集总结

原文链接&#xff1a;实现yolo3模型训练自己的数据集总结 经过两天的努力&#xff0c;借鉴网上众多博客&#xff0c;在自己电脑上实现了使用yolo3模型训练自己的数据集并进行测试图片。本文主要是我根据下面参考文章一步步实施过程的总结&#xff0c;可能没参考文章中那么详细&…

Django Form和ModelForm组件

Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时&#xff0c;都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验&#xff0c;比如校验用户是否输入&#xff0c;输入的长度和格式等正不正确。如果用户输…

ESLint 规则详解

前端界大神 Nicholas C. Zakas 在 2013 年开发的 ESLint&#xff0c;极大地方便了大家对 Javascript 代码进行代码规范检查。这个工具包含了 200 多条 Javascript 编码规范且运行迅速&#xff0c;是几乎每个前端项目都必备的辅助工具。可是&#xff0c;这么多规则&#xff0c;每…

全文搜索引擎 ElasticSearch 还是 Solr?

原文链接 最近项目组安排了一个任务&#xff0c;项目中用到了全文搜索&#xff0c;基于全文搜索 Solr&#xff0c;但是该 Solr 搜索云项目不稳定&#xff0c;经常查询不出来数据&#xff0c;需要手动全量同步&#xff0c;而且是其他团队在维护&#xff0c;依赖性太强&#xff0…

NodeJS作为Web架构中间层的使用

截至2016年12月&#xff0c;中国网民规模已达7.31亿。传统的网站系统是否能够支撑得起如此庞大的且不断增长的用户访问并且为用户提供体验友好的页面&#xff1f; 一、传统的前后端&#xff1a; 二、传统的前后端分离问题&#xff1a; 性能问题&#xff1a; 1、渲染、数据都在…

windows server 2012 流媒体服务器搭建(直播与点播)

IIS Live Smooth Streaming&#xff08;实时平滑流式处理&#xff09;是微软下一代流媒体解决方案。该技术是在IIS web中集成媒体传输平台IIS media services&#xff0c;实现利用标准 HTTP Web 技术以及高级 Silverlight 功能&#xff0c;确保在互联上传输质量最佳、播放流畅音…

Vue warn Failed to mount component: template or render function not defined

问题如图&#xff0c;造成这类的问题一般有这么几个原因。 代码的拼写问题&#xff0c;当然这是最低级的错误vue定义的问题&#xff0c;这里我说明两点 在组件内部定义组件时&#xff0c;template 对应的必须是html字符串引用外部组件时&#xff0c;vue文件必须以template标签…

Python实现线性回归2,梯度下降算法

接上篇 4.梯度下降算法 《斯坦福大学公开课 &#xff1a;机器学习课程》吴恩达讲解第二课时&#xff0c;是直接从梯度下降开始讲解&#xff0c;最后采用向量和矩阵的方式推导了解析解&#xff0c;国内很多培训视频是先讲解析解后讲梯度下降&#xff0c;个人认为梯度下降算法更为…

mac 下用 brew 安装mongodb

mac 下安装mongoDB一般俩种方法. (1)下载源码,解压,编译,配置,启动 比较艰难的一种模式. (2)brew install mongodb ,然后就可以悠闲的品一口茶,顺便瞄一眼网易新闻,这是一种傻瓜模式. 但傻瓜模式也有人为干预的时候,粗略说一下使用brew 安装mongodb 1 zhangzhimoke:~/code$…

比较python类的两个instance(对象) 是否相等

http://www.yihaomen.com/article/python/281.htm 比较python类的两个instance(对象) 是否相等 作者:轻舞肥羊 日期:2012-10-25 字体大小: 小 中 大对于同一个Class,可以创建不同的实例(instance), 如何比较这两个 instance 是否相等呢&#xff1f;我们知道&#xff0c;对于计算…

Mybaits插入记录返回主键值

某些情况进行insert时不知道主键值&#xff08;主键为自增&#xff09;&#xff0c;例如系统新增用户时&#xff0c;有用户序号&#xff08;主键 自增&#xff09;&#xff0c;用户名&#xff0c;密码。插入时只需插入用户名和密码&#xff0c;之后取得mysql自增的序号。 如下为…

CAS单点登录原理简单介绍

1. SSO简介 1.1 单点登录定义 单点登录(Single sign on)&#xff0c;英文名称缩写SSO&#xff0c;SSO的意思就是在多系统的环境中&#xff0c;登录单方系统&#xff0c;就可以在不用再次登录的情况下访问相关受信任的系统。也就是说只要登录一次单体系统就可以。计划在项目中加…

前端跨域通信的几种方式

前言 前端通信类的问题&#xff0c;主要包括以下内容&#xff1a; 1、什么是同源策略及限制 同源策略是一个概念&#xff0c;就一句话。有什么限制&#xff0c;就三句话。能说出来即可。 2、前后端如何通信 如果你不准备&#xff0c;估计也就只能说出ajax。 3、如何创建Aja…

Luogu 3698 [CQOI2017]小Q的棋盘

BZOJ 4813 虽然数据范围很迷人&#xff0c;但是想树形$dp$没有前途。 先发现一个事情&#xff0c;就是我们可以先选择一条链&#xff0c;最后要走到这一条链上不回来&#xff0c;走到链上的点每一个只需要一步&#xff0c;而如果要走这条链之外的点&#xff0c;一个点需要走两步…