码迷,mamicode.com
首页 > 编程语言 > 详细

C语言博客作业--函数嵌套调用

时间:2018-01-01 22:00:08      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:define   变化   string   char   输入   after   pos   系统   origin   

一、实验作业

PTA题目:6-4 十进制转换二进制

1.本题PTA提交列表

技术分享图片

2. 设计思路

设置一个flag判断是否输入的数是单独为0的情况
如果不是:且n不为0 ,每次n/2, 输出n%2

3.代码截图

技术分享图片

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

部分正确:没有考虑到输入的数为0的情况
后面单独讨论就好。

二、学生成绩管理系统

1.2.1 画函数模块图,简要介绍函数功能。

技术分享图片

1.2.2 截图展示你的工程文件

技术分享图片

1.2.3 函数代码部分截图

头文件
技术分享图片

主函数
技术分享图片

增加学生
技术分享图片

修改成绩
技术分享图片

删除学生
技术分享图片

按学号排序
技术分享图片

1.2.4 调试结果展示

技术分享图片

技术分享图片

工程还存在一些问题,后续会继续完善。

三、截图本周题目集的PTA最后排名

技术分享图片

四、阅读代码

字符串串动变化
下列程序中,函数fun的功能是:在字符串str中找出ASCII码值最大的字符,将该字符前的所有字符向后顺序移动一个位置,然后将该字符放到第一个位置上。

#include <stdio.h> 
  fun(char *p)  
  {  
     char max,*q; int i=0;  
     max=p[i];  
     while(p[i]!=‘\0‘)  
     {  
         if(max<=p[i])  
         {  
             max=p[i];  
             q=p+i;  
         }  
         i++;  
     }  
     while(q>p)  
     {  
         *q=*(q-1);  
         q--;  
     }  
     p[0]=max;  
  }  
  main()   
  {  
     char str[80];  
     printf("Enter a string: ");  
     gets(str);  
     printf("\nThe original string:   ");  
     puts(str);  
     fun(str);  
     printf("\nThe string after moving:  ");  
     puts(str);  
     printf("\n\n");  
  }  

这题是pta上的一题,我虽然做出来但是做法较为复杂,特别是在找到Ascll值最大的字母后的重新排序,做法复杂且效率低。
这个代码只用了一个循环就完成了。记录到最大值的那个字母,从那开始字母循环往后移动一个位置。效率很高而且代码也
很简洁。

五、本周学习总结

1.介绍本周学习内容

  • 宏定义
    宏定义又称为宏代换、宏替换,简称"宏"。
    格式:
    "#define 标识符 字符串"
    其中的标识符就是所谓的符号常量,也称为"宏名"。
    如#define Pi 3.1415926
    把程序中出现的Pi全部换成3.1415926
  • 指针指向指针
    也称二级指针
    如:
    int a=10;
    int *p=&a;
    int **pp=&p;

2.学习体会

  • 这周的作业有些不大一样,是建一个工程。之前都是固定的一道题目完成相应的功能代码都是一页的。
    建工程分成多页,还要串起来完成多个功能。刚起步确实碰到很多的困难,主要是链接的问题。其实满足相应的功能的代码都不是特别难写。确实还是要多花时间去琢磨。

C语言博客作业--函数嵌套调用

标签:define   变化   string   char   输入   after   pos   系统   origin   

原文地址:https://www.cnblogs.com/lzc176/p/8166492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!