第七周学习总结
1.表头
2.作业
一、基础作业
6-2 每个单词的最后一个字母改成大写
函数fun的功能是:将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;
}
void fun( char p ){
int i;
for(i=0;(p+i)!='\0';i++){
if((p+i+1)==' ')
(p+i)=(p+i)-'a'+'A';
}
}
设计思路
问题以及解决方法
主要就是用到了strlen函数,没有问题
结果截图
7-2 自动售货机
如图所示的简易自动售货机,物品架1、2上共有10样商品,按顺序进行编号分别为1-10,标有价格与名称,一个编号对应一个可操作按钮,供选择商品使用。如果物架上的商品被用户买走,储物柜中会自动取出商品送到物架上,保证物品架上一定会有商品。用户可以一次投入较多钱币,并可以选择多样商品,售货机可以一次性将商品输出并找零钱
1)实验代码
include<stdio.h>
int zong();
struct money{
char s[20];
int m;
};
int main(void)
{
int z=0,i;
z=zong();
int x=0,money=0;
struct money yuan[10]={
{"Table-water",0},{"Table-water",0},{"Table-water",0},
{"Coco-Cola",0},{"Milk",0},{"Beer",0},
{"Orange-Juice",0},{"Sprtce",0},{"Oolong-Tea",0},
{"Green-Tea",0}
};
money=z;
while(x!=-1){
scanf("%d",&x);
switch(x){
case 1:money=money-1;yuan[0].m++;break;
case 2:money=money-1;yuan[1].m++;break;
case 3:money=money-1;yuan[2].m++;break;
case 4:money=money-2;yuan[3].m++;break;
case 5:money=money-2;yuan[4].m++;break;
case 6:money=money-3;yuan[5].m++;break;
case 7:money=money-3;yuan[6].m++;break;
case 8:money=money-3;yuan[7].m++;break;
case 9:money=money-4;yuan[8].m++;break;
case 10:money=money-4;yuan[9].m++;break;
default :break;
}
}
if(money>=0){
printf("Total:%dyuan,change:%dyuan\n",z,money);
for(i=0;i<10;i++)
{
if(yuan[i].m>0)
printf("%s:%d;",yuan[i].s,yuan[i].m);
}
}
else
printf("Insufficient money");
}
int zong()
{
int z,money=0;
while(z!=-1)
{
scanf("%d",&z);
switch(z){
case 1:money=money+1;break;
case 2:money=money+2;break;
case 5:money=money+5;break;
case 10:money=money+10;break;
default :break;
}
}
return money;
}
设计思路
问题以及解决方法
问题:对应商品所需要的钱和出现的次数遇到了麻烦
解决方法:通过与室友讨论。明白 了需要用switch-case语句输出对应标号。另外还需要数组
4)结果截图
二、预习作业
7-1 使用函数删除字符串中的字符
输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入一个字符串 str,再输入一个字符 c,将字符串 str 中出现的所有字符 c 删除。
要求定义并调用函数delchar(str,c), 它的功能是将字符串 str 中出现的所有 c 字符删除,函数形参str的类型是字符指针,形参c的类型是char,函数类型是void。
输入输出示例:括号内为说明,无需输入输出
1)实验代码
include<stdio.h>
include<string.h>
void delchar(char str[],char c);
int main()
{
int repeat;
scanf("%d\n",&repeat);
while(repeat--)
{ char str[80] = {'\0'},c;
getchar();
gets(str);
scanf("%c",&c);
printf("result: ");
delchar(str,c);
}
return 0;
}
void delchar(char *str,char c)
{
int n = strlen(str);
for(int i=0;i<n;i++)
{
if(str[i]!=c)
printf("%c",str[i]);
}
printf("\n");
return;
}
设计思路
问题以及解决方法
这题难懂,别人讲了之后还是很懵逼,希望下次上课老师能详细讲下预习的内容
结果截图
3.学习进度统计和学习感悟
学习感悟:通过本周的课程以及自身的学习,对本周的知识点有了一个比较深的了解,在以前的知识点上又进行了巩固,从而弥补了自身的有些不足之处,不过感觉还是对部分知识点没有完全了解,希望通过以后的学习对这些知识点在进行进一步的巩固
2)学习进度统计
结对编程感想:通过这次结对编程,我们两个对这周所学的知识点并没有完全掌握,好在各自都有各自的见解,为对方弥补了各自的不足,使各自对知识点都有了一个更深的了解
结对编程优缺点
优点是提高了编程效率,缺点是部分人太过于依赖队友