2019春第七周作业

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/MS/homework/2940
我在这个课程的目标是 掌握指针与数组以及地址的关系,用二维数组解决问题
这个作业在哪个具体方面帮助我实现目标 帮助我更好的理解了指针,地址还有数组之间的关系
参考文献 C语言程序设计II

一、本周完成作业

基础作业1

1.实验代码

#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 )
{
for(int i=0;*p!=0;i++,p++){
if(*p==' '&&*(p-1)>'a'&&*(p-1)<'z'){
*(p-1)=*(p-1)-'a'+'A';
}
}
}

2.设计思路

3.本题调试过程碰到的问题及解决办法

主要了解了通过ASCII值来转换大小写,基本没什么问题

4.运行结果截图

基础作业2

1.实验代码

#include<stdio.h>
int main(void)
{
char commodity[10][20] = {"Table-water","Table-water","Table-water","Coca-Cola","Milk","Beer","Orange-Juice","Sprite","Oolong-Tea","Green-Tea"};
int money[100];
int num[10];
int count[11]={0,0,0,0,0,0,0,0,0,0,0};
int sum=0, i, price=0;
scanf("%d", &money[0]);
for(i=1;money[i-1]!=-1;i++)
{
scanf("%d", &money[i]);
sum=sum+money[i-1];
}

scanf("%d", &num[0]);
for(i=1;num[i-1]!=-1;i++)
{
scanf("%d", &num[i]);
}
for(i=1;num[i-1]!=-1;i++)
{
switch(num[i-1])
{
case 1: price=price+1; break;
case 2: price=price+1; break;
case 3: price=price+1; break;
case 4: price=price+2; break;
case 5: price=price+2; break;
case 6: price=price+3; break;
case 7: price=price+3; break;
case 8: price=price+3; break;
case 9: price=price+4; break;
case 10: price=price+4; break;
default: break;
}
 
}
if(price>sum)
printf("Insufficient money");
 
else
{
printf("Total:%dyuan,change:%dyuan\n", sum, sum-price);

for(i=0;num[i]!=-1;i++)
{
switch(num[i])
{
case 1: count[1]++; break;
case 2: count[2]++; break;
case 3: count[3]++; break;
case 4: count[4]++; break;
case 5: count[5]++; break;
case 6: count[6]++; break;
case 7: count[7]++; break;
case 8: count[8]++; break;
case 9: count[9]++; break;
case 10: count[10]++; break;
default: break;
}
 
}
for(i=1; i<=10; i++)
{
if(count[i] == 0)
{
continue;
}
else
printf("%s:%d;",commodity[i-1],count[i]);
}
}
return 0;
}

2.设计思路

3.本题调试过程碰到的问题及解决办法

感觉太难了,请教室友一起解决的

4.运行结果截图

预习作业

1.实验代码

#include<stdio.h>
void delchar(char *str,char c);
struct char1{
char str[10][30];
}q;
int main(void)
{
struct char1 *p;
p=&q;
int repeat,i=0;
scanf("%d\n",&repeat);
for(i=0;i<repeat*2;i++){
gets(p->str[i]);
}
for(i=0;i<repeat*2;i++){
if(i%2==1){
delchar(p->str[i-1],p->str[i][0]);
printf("\n");
}
}
}
void delchar(char *str,char c)
{
printf("result: ");
while(*str!='\0'){
if(*str!=c){
printf("%c",*str);
}
str++;
}
}

2.设计思路

3.本题调试过程碰到的问题及解决办法 

输入字符串后的回车会被当作一个字符,但是gets()输入不进去等等一系列问题,还是要靠自己百度和请教别人,虚心学习

4.运行结果截图

挑战作业

太难不会没写

学习感悟

总之就是一句话,感觉太难了,而且作业每次都没有讲解,不会的还是不会,自己查资料也查不出什么来

结对编程优缺点

优点:人多力量大嘛,可以取长补短

缺点:每个人的思路想法都不一样,有时候会产生意见分歧

posted @ 2019-04-12 20:46  lyp82ndlfjh  阅读(135)  评论(2编辑  收藏  举报