第七周
作者:互联网
本周作业头
这个作业属于那个课程 |
C语言程序设计II |
这个作业要求在哪里 |
https://edu.cnblogs.com/campus/zswxy/computer-scienceclass1-2018/homework/2939 |
我在这个课程的目标是 |
理解指针数组和地址之前的关系及应用 |
这个作业在那个具体方面帮助我实现目标 |
practice |
参考文献 |
教科书 |
(第七周博客园复制的,当时只做了一半,补完整)
6-2 每个单词的最后一个字母改成大写 (10 分)
函数fun的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。
函数接口定义:
void fun( char *p );
其中 p
是用户传入的参数。函数将 p
所指字符串中每个单词的最后一个字母改成大写。
裁判测试程序样例:
#include <stdio.h>
void fun( char *p );
int main()
{
char
chrstr[
64];
intd ;
gets(chrstr);
d=
strlen(chrstr) ;
chrstr[d] =
' ';
chrstr[d+
1] =
0;
fun(chrstr);
printf
(
"\nAfter changing: %s\n", chrstr);
return0
;
}
/* 请在这里填写答案 */
输入样例:
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)-32;
}
}
设计思路流程图
本题调试过程中遇到的问题及解决方法
一个严重的格式错误,询问后改正,并精简了一下内容
题目7-2 自动售货机
如图所示的简易自动售货机,物品架1、2上共有10样商品,按顺序进行编号分别为1-10,标有价格与名称,一个编号对应一个可操作按钮,供选择商品使用。如果物架上的商品被用户买走,储物柜中会自动取出商品送到物架上,保证物品架上一定会有商品。用户可以一次投入较多钱币,并可以选择多样商品,售货机可以一次性将商品输出并找零钱。
1.jpg
用户购买商品的操作方法是:
(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 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;
实验代码
设计思路流程图
设计思路
1,定义一个函数
2,输出一系列商品,定义一个商品数组和一个商品价格数组,商品名称和价格都填好
3,用for循环输出,打印商品价格
4,输出能用的纸币的面额(比如print
1 2 5 这样)
5,用if函数判断输入用户塞的钱数来是不是符合规范,加一个询问是否继续放纸币
6,选择商品的编号,每次选择后都要比较一下购买是商品的总价格和输入的钱数的总价格,不够则返回到4提示输入纸币
7,确认购买就结算,输入钱数-商品总价格,输出
本题调试过程中遇到的问题及解决方法
7-1 使用函数删除字符串中的字符 (10 分)
输入一个正整数 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
newyer (
字符串
"happy new year"中的字符
'a'都被删除
)
result:b (
字符串
"bee"中的字符
'e'都被删除
)
result:2
(
字符串
"111211"中的字符
'1'都被删除
)
实验代码
#incnude<stdio.h>
void denchar(char *str, char c);
int main(void)
{
int i,j;
char str[100];
char c;
scanf("%d\n",&j);
for(i=1;i<=j;i++)
{
gets(str);
c=getchar();
denchar(str,c);
printf("resunt: %s\n",str);
}
return 0;
}
void denchar(char *str, char c)
{
int m,n=0;
for(m=0;str[m]!='\0';m++)
{
if(str[m]!=c)
{
str[n]=str[m];
n++;
}
}
str[n]='\0';
}
设计思路流程图
本题调试过程中遇到的问题及解决方法
要注意一下输入法的问题,总是写着写着就换到中文去了
周/日期 |
这周所花的时间(小时) |
代码行数(行) |
学到的知识点简介 |
目前比较迷惑的问题 |
3/2-3/8 |
20+ |
200+ |
数组,指针的大致意义,文件 |
数组串指针 |
3/9-3/15 |
15+ |
300+ |
文件 数组 |
数组什么时候用更方便 |
3/16-3/22 |
25+ |
400+ |
数组 |
字符串 数组 |
3/23-3/29 |
20+ |
300+ |
字符串 |
指针具体什么时候使用 |
3/30-4/5 |
20+ |
200+ |
指针变量的定义,使用 |
使用指针实现函数调用返回多个值 |
标签:char,第七,10,钱币,str,字符,字符串 来源: https://www.cnblogs.com/lpf666/p/11074532.html