c语言设计函数删除大写字母,C语言第七周作业
每个单词的最后一个字母改成大写
函数fun的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。
函数接口定义:
void fun( char *p );
其中 p 是用户传入的参数。函数将 p所指字符串中每个单词的最后一个字母改成大写。
裁判测试程序样例:
include
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("
After changing: %s
", chrstr);
return 0;
}
/* 请在这里填写答案 /
输入样例:
Cmy friend is happy
输出样例:
CAfter changing: mY frienD iS happy
1.实验代码
void fun(char p)
{
for(;p!=' ';p++)
{
if(p!=' '&&*(p+1)==' ')
p=p-32;
}
}
2.流程图
3.遇到的问题和解决方法
问题:自己参考了教材上的一个题目,有很多相似的地方,但还是出现了一些错误。
解决方法:自己仔细思考解决问题。
4.运行截图
自动售货机
如图所示的简易自动售货机,物品架1、2上共有10样商品,按顺序进行编号分别为1-10,标有价格与名称,一个编号对应一个可操作按钮,供选择商品使用。如果物架上的商品被用户买走,储物柜中会自动取出商品送到物架上,保证物品架上一定会有商品。用户可以一次投入较多钱币,并可以选择多样商品,售货机可以一次性将商品输出并找零钱。
用户购买商品的操作方法是:
(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;
1.实验代码
int main(void)
{
char a[10][20] = {"Table-water","Table-water","Table-water","Coca-Cola","Milk","Beer","Orange-Juice","Sprite","Oolong-Tea","Green-Tea"};
int b[11] = {0,0,0,0,0,0,0,0,0,0,0};
int c[50];
int i=1, k, sum = 0, money, SUM = 0, change, flag=0;
scanf("%d",&money);//输入币值并计算总币值
while((money!=-1)&&(money <= 10))
{
sum = sum + money;
scanf("%d",&money);
}
scanf("%d",&c[i]);
while(c[i]!=-1)//将选的货物编号存储到数组c中并计算找零
{
switch(c[i])
{
case 1: case 2: case 3: SUM = SUM + 1;break;
case 4: case 5: SUM = SUM + 2;break;
case 6: case 7: case 8: SUM = SUM + 3;break;
case 9: case 10: SUM = SUM + 4;break;
default:break;
}
if(SUM>sum)
{
printf("Insufficient money");
flag = 1;
break;
}
i++;
scanf("%d",&c[i]);
}
change = sum-SUM;
//用数组b统计各种商品数量
i = 1;
while(c[i]!=-1)
{
switch(c[i])
{
case 1: b[1]++;break;
case 2: b[2]++;break;
case 3: b[3]++;break;
case 4: b[4]++;break;
case 5: b[5]++;break;
case 6: b[6]++;break;
case 7: b[7]++;break;
case 8: b[8]++;break;
case 9: b[9]++;break;
case 10: b[10]++;break;
default:break;
}
i++;
}
//输出结果
if(flag==0)
{
printf("Total:%dyuan,change:%dyuan
",sum, change);
for(i=1; i<=10; i++)
{
if(b[i]==0)
continue;
else
{
printf("%s:%d;",a[i-1],b[i]);
}
}
}
return 0;
}
2.设计思路
3.遇到的问题和解决方法
问题:对题目进行了仔细分析,有多种情况需要考虑,采用了swith语句时考虑问题还有欠缺,出现了编译错误。
4.运行结果截图
使用函数删除字符串中的字符
输入一个正整数 repeat (0
输入一个字符串 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'都被删除)
1.实验代码
void delchar(char *str, char c);
int main(void)
{
int repeat,i;
char str[100],c;
scanf("%d
",&repeat);
for(i=1;i<=repeat;i++){
gets(str);
c=getchar();
delchar(str,c);
printf("result: %s
",str);
}
return 0;
}
void delchar(char *str, char c)
{
int j,k=0;
for(j=0;str[j]!=' ';j++){
if(str[j]!=c){
str[k]=str[j];
k++;
}
}
str[k]=' ';
}
2.设计思路
3.遇到的问题和解决方法
问题:自己对题目进行了简化分析,结果出现答案错误
解决方法:向班上的同学请教,自己再仔细思考
4.运行结果截图
预习中存在的问题:感觉自己对数组和指针还不是很了解,需要加强练习。
学习进度条
心得
感觉自己还存在一些问题,每次无论题目是简单还是困难都需要花费很长的时间,希望自己以后能多练习加强对知识点的理解。
结对编程:感觉我们两个都做得还不够好,希望在接下来的时间能相互学习,共同进步。
c语言设计函数删除大写字母,C语言第七周作业相关推荐
- c语言如何小写转换为大写字母,c语言怎么将小写转换为大写
c语言怎么将小写转换为大写? 在 C 语言中区分字母的大小写,利用 ASCII 码中大写字母和小写字母之间的转换关系(差值为 32),可以将小写字母转换为大写字母.编写程序实现,从键盘上输入一个小写字 ...
- C语言设计函数求最大公约数,C语言程序设计课程设计--编写函数求取两个整数m,n的最大公约数和最小公倍数.doc_在线文库www.lddoc.cn...
C语言程序设计课程设计--编写函数,求取两个整数m,n的最大公约数和最小公倍数.doc C语言程序设计课程设计C语言程序设计课程设计评语考勤(10)纪律(10)过程(40)设计报告(30)答辩(10) ...
- R语言droplevels函数删除因子变量(factor)没有用到的级别(level)实战
R语言droplevels函数删除因子变量(factor)没有用到的级别(level)实战 目录 R语言droplevels函数删除因子变量(factor)没有用到的级别(level)实战 #基本语法 ...
- matlab求被21整除,用matlab求[100,999]之间能被21整除的数的个数,还有建立一个字符串向量,删除大写字母._...
怕散!|用户:的问题 用 matlab求[100,999]之间能被21整除的数的个数,还有建立一个字符串向量,删除大写字母. Promise丶陌影|用户:问问回答: clc;clear; m=0; f ...
- 编写一个C语言程序,将大写字母变成小写字母
编写一个C语言程序,将大写字母变成小写字母 #include<stdio.h> int main() { int i=1; char c1,c2; c1='A'; while(i<2 ...
- C语言怎么提出大写字母,c语言函数toupper()如何将小写字母转换为大写字母
c语言函数toupper()如何将小写字母转换为大写字母?大小写字母怎么转换?函数需要引入的头文件:#include toupper()的定义:int toupper(int c); toupper( ...
- 删除字符串的大写字母c语言,将字符串大写字母变小写 C语言 字符串中大小写字母转换...
java怎样将大写字母转换成小写字母 具体代码如下,字符串中大.小写互转 1)输入 第一行只有一个整数m(m都说欲擒故纵最能虏获芳心,可小编拿什么对抗她在皱眉时,小编忍不住嘘寒问暖的情绪. jquer ...
- c语言中怎么把大写字母转化为小写字母,c语言大小写字母怎么转化?
在C语言中,小写字母转换为大写字母的方法是将小写字母的ASCII码值减去32(例:A=a-32):大写字母转换为小写字母的的方法是将大写字母的ASCII码值加上32(例:a=A+32)即可. 在 C ...
- c语言cgi函数库,cgic: 为C语言设计CGI地C函数库
cgic: 为C语言设计CGI地C函数库 cgic: 为C语言编写CGI的C函数库 ---由Thomas Boutell开发 ************************************* ...
最新文章
- WinError 145] 目录不是空的
- EditorGridPanel的网格样式以及编辑属性设置
- CVE-2014-3153笔记
- 安卓 Handler使用方法
- GDCM:转储GEMS Ultrasound MovieGroup的测试程序
- 通过Windows API 创建窗口的过程理解windows消息机制
- 【APICloud系列|22】 videoPlayer模块(视频播放)的实现
- LeetCode 1745. 回文串分割 IV(区间DP)
- 这里有个古老的车站:三年只为一人开
- 人工智能指用计算机,人工智能测试题..doc
- 手机号归属地区编码_Excel隐藏手机号中间4位的6种方法,你见过几种?
- 写出线程同步相关的方法,以银行账号存储款为例
- k2路由器改无线打印服务器,修改斐讯K2、K3路由器的无线密码【图解】
- Iframe用法总结
- 如何搭建一个谷歌广告系列?
- 真正优秀的人,为何都那么尊重别人?(非常深刻)
- oracle左外链接多表,sql – 在Oracle中的多个表的左外连接
- 基于GIS的三维智慧警务系统
- oracle bbed 推进scn
- 评论抓取:Python爬取AppStore上的评论内容及星级,突破500条限制
热门文章
- Javascript读书笔记(六)函数作用域,声明提前,作用域链,闭包
- 谷氨酰胺(Glutamine)检测实验分析方案
- context是什么意思
- 数字组合问题(贪心算法)
- flutter如何让row中的子组件高度保持一致
- 数据可视化应用到营销中的5个超酷案例
- Pointnet(part_seg)train.py,test.py代码随记
- 【Java核心技术大会 PPT分享】林子熠:GraalVM的静态编译和静态分析技术
- mysql主从服务器宕机,Mysql主从数据库配置及宕机处理
- python股票分布图_Python股票成交价格分布图(二)