C语言作业|09

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业004
我在这个课程的目标是 熟练运用C语言
这个作业在那个具体方面帮助我实现目标 运用C语言编译完成PTA和博客园作业
参考文献 [Markdown基本语法]

.1.2找完数

所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。
输入格式:
输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。
输出格式:
逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。
输入样例:
2 30
输出样例:
6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14
1.2.1数据处理
数据表达:用了n,m,i,b,sum,num六个变量,其中n,m表示2个正整数m和n;sum和num表示每个完数的因子累加形式的分解式与完数
数据处理:伪代码

include <stdio.h>

const int num=1000;
int main()
{
int m,n;变量n,m
scanf("%d %d",&m,&n);
int cnt;变量cnt
int a[num];变量a[num]
int i,j;变量i,j
int flag=0;
for(i=m;i<=n;i++)
{
cnt=0;
for(j=1;j<i;j++)
{
if(i%j0)
{
a[cnt]=j;
cnt++;
}
}
int sum=0;
for(int n=0;n<cnt;n++)
{
sum+=a[n];
}
if(sum
i)
{
flag=1;
printf("%d = %d",i,a[0]);
for(int d=1;d<cnt;d++)
{
printf(" + %d",a[d]);
}
printf("\n");
}
}
if(flag==0)
{
printf("None");
}
return 0;
}

1.2.2实验代码截图

.1.3 造测试数据

输入数据 输出数据 说明
5 20 6 = 1 + 2 + 3 两个正整数(5的倍数
3 20 6 = 1 + 2 + 3 两个大于1的符合条件的正整数

1.4 PTA提交列表及说明

编译错误,没审清题,输出从11到NN的部分口诀表。

1.2换硬币

.2.1 数据处理

将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
输入格式:
输入在一行中给出待换的零钱数额x∈(8,100)。
输出格式:
要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。
输入样例:
13
输出样例:
fen5:2, fen2:1, fen1:1, total:4
fen5:1, fen2:3, fen1:2, total:6
fen5:1, fen2:2, fen1:4, total:7
fen5:1, fen2:1, fen1:6, total:8
count = 4
数据表达:定义了整形变量x为总硬币数,b为5分硬币数量,d为2分硬币数量,fen1为1分硬币数量,total为每种换法硬币的个数,count为多少种换法。
数据处理:
定义整型变量x零钱数额,在循环中i储存五分硬币个数,w储存一分硬币个数
定义整型变量a表示最多五分硬币个数减一,b减去五分剩余的钱,c储存二分硬币个数,d减去五分和二分剩下的钱,count储存换法个数并赋值为0
输入待换的零钱数额
x←x-8 /排除第一种算法/
a←x/5 /计算余下的钱能换几个五分硬币/
for(i←a;i>←0;i--) /将a赋值给i,用来储存每次循环的五分硬币个数,并判断是否还有五分硬币/
b←x-5i /减去五分剩余的钱/
n←b/2 /储存二分硬币个数8/
for(w←c;w>←0;w--) /将二分硬币个数赋值给w,并判断是否还剩余二分硬币/
d←x-5i-2w /计算除去二分硬币和五分硬币的/
输出五分硬币,二分硬币,一分硬币,总硬币个数
count++;
end for
end for
输出换法个数

1.2.2实验代码截图

造数据

输入数据 输出数据 说明
10 fen5:1, fen2:2, fen1:1, total:4fen5:1, fen2:1, fen1:3, total:5 count=2 10分钱有2种换法
8 fen5:1, fen2:1, fen1:1,count=1 8分钱有一种换法

1.2.4PTA提交列表及说明

3学习总结

3.1学习进度条

这周所花的时间代码行 学到的知识点简介 目前比较困惑的问题
第五周 4小时 20行 初期开始学习“Hello World!"
第六周 8小时 27行 提问的智慧及编译器的下载
第七周 10小时 75行 流程结构类型及变量类型分类方法
第八周 12小时 120行 循环程序设计及Dev-C++编译运行等方法
第九周 16小时 170行 四种流程结构及主调,被调函数,实参与形参的识别
第十周 20小时 210行 分支结构的部分代码
第十一周 22小时 320 while语句的运用
第十二周 25小时 400 学会使用while和do-while结构解决问题
第十三周 29小时 450 嵌套循环 continue语句和break语句

3.3学习内容总结感悟

3.3.1学习内容总结

3.3.2 学习体会

感觉嵌套语句还是不怎么熟练,比较复杂,循环一旦多了就容易出现错误,希望能够加强逻辑计算和运用。

posted on 2019-11-22 21:26  卖电脑的小海  阅读(326)  评论(1)    收藏  举报