此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/5523]
1.熟悉 命令行和控制台
假设在当前目录下存在应用程序 a.exe 和 文件文件 b.txt,请以数据流图并辅助以文字说明下述控制台命令的作用是什么。
答:B里面的内容作为程序a的数据输入,最后结果结果输出到c并保存。
请用C言开发应用程序d.exe,从控制台指令读入命令行参数,并在控制台分别打印出a、b、c的值。
代码如下:
#include <stdio.h> #include <stdlib.h> int main() { int a,b,c; scanf("a=%d b=%d c=%d",&a,&b,&c); printf("%d ",a); printf("%d ",b); printf("%d ",c); return 0; }
运行效果如下:
2.熟悉 测试用例
(1)请在网站 [https://pintia.cn/]注册账号。
(2)在题目集 PAT (Basic Level) Practice (中文) 中任选3道题目完成。
截图如下:
(3)代码解读。
发表博客,介绍上述3个题目代码中重点/难点,展示重要代码片断,给出执行效果截图,展示你感觉得意、突破、困难的地方。
1001 害死人不偿命的(3n+1)猜想
重难点:这个题目属于比较简单的题目,就是判定一下数据是奇数还是偶数,判定后分别给予不同的处理罢了。
代码片段:
#include<stdio.h> int main(){ int n; int i=0; scanf("%d",&n); while(n!=1){ if(n%2==0){ n=n/2; i++; } else n=3*n+1; } printf("%d ",i); }
执行效果截图:
1002 写出这个数
重难点:我感觉这个题的重难点是如何把一个数各分位上的数加起来,我采用了将一个数按字符串输入,然后再转换成数字,用For循环将所有的数加起来,将0到9用拼音表示存在数组中,通过除法和除余来判断各个位上的数字然后再分别输出。
代码片段:
#include<stdio.h> int main(){ char n[100]; int i=0; int j; scanf("%s",&n); for(;n[i]!='