第七周作业

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2935
我在这个课程的目标是 <掌握编程技巧>
这个作业在那个具体方面帮助我实现目标 <深刻理解编程的细节>
参考文献

基础作业

PTA:1.函数题:每个单词的最后一个字母改成大写

我的代码:

void fun( char *p )
{
  char *q=p;
  while(*q!='\0')
  {
    if(*(q+1)==' '&&(*q<='z'&&*q>='a'))
    *q=*q-32;
    q++;
  }
}

流程图

函数题应该不需要流程图吧,直接根据题目意思处理就可以了。

2.编程题:自动售货机

我的代码:

#include<stdio.h>
int main()
{
  int i,sum1=0,sum2=0,n,a[11]={0},b[11]={0,1,1,1,2,2,3,3,3,4,4};
  char c[11][20]={"","Table-water","Table-water","Table-water","Coca-Cola","Milk","Beer","Oolong-Juice","Sprite","Oolong-Tea","Green-Tea"};
  while(scanf("%d",&n))
  {
    if(n==-1)
    break;
    else
    sum1+=n;
  }
  while(scanf("%d",&n))
  {
    if(n==-1)
    break;
    else
    a[n]++;
  }
  for(i=1;i<11;i++)
  if(a[i])
  sum2+=b[i]*a[i];
  if(sum2>sum1)
  printf("Insufficient money");
  else
  {
    printf("Total:%dyuan,change:%dyuan\n",sum1,sum1-sum2);
    for(i=1;i<11;i++)
    if(a[i])
    printf("%s:%d;",c[i],a[i]);
  }
}

流程图

预习题

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

我的代码

#include<stdio.h>
void delchar(char *str,char c)
{
  int i=0;
  char *p;
  for(p=str;*p!='\0';p++)
  {
    if(*p==c)
    continue;
    else
    {
      *(str+i)=*p;
      i++;
    }
  }
  *(str+i)='\0';
}
int main()
{
  int n,i,j;
  char a[1005],b;
  scanf("%d",&n);
  getchar();
  for(i=0;i<n;i++)
  {
    j=0;
    while(scanf("%c",&a[j]))
    {
      if(a[j]=='\n')
      break;
      else
      j++;
    }
    a[j]='\0';
    scanf("%c",&b);
    delchar(a,b);
    printf("result: %s",a);
  }
}

流程图

posted @ 2019-04-08 18:47  都行还  阅读(268)  评论(1编辑  收藏  举报