您的位置:首页 > 编程语言 > C语言/C++

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

2018-01-01 20:45 447 查看

一、实验作业

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.学习体会

这周的作业有些不大一样,是建一个工程。之前都是固定的一道题目完成相应的功能代码都是一页的。

建工程分成多页,还要串起来完成多个功能。刚起步确实碰到很多的困难,主要是链接的问题。其实满足相应的功能的代码都不是特别难写。确实还是要多花时间去琢磨。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: