一.PTA实验作业

1.题目6.6使用函数输出水仙花数

1.本题提交列表

2.设计思路

int narcissistic( int number )函数
1.第一步,定义i,j变量控制循环,count表示输入数值的个数,w表示输入数值各个位数上的count次方的和,y表示各个位数上的count次方,sum用来存放number的值
2.第二步,while(sum>0){sum=sum/10;count++; }计算输入值的个数
3.第三步,for(j=1;j<=count;j++)
y=y*h;
w=w+y;计算输入数值各个位数上的count次方的和w
4.第四步,如果w==number,则返回1,否则返回0
PrintN( int m, int n )函数
定义r储存数字,for(r=m+1;r<=n-1;r++)调用narcissistic函数,如果返回1就打印该数

3.遇到的问题及pta列表提交说明

2.题目6.7使用函数输出指定范围内的完数

1.本题提交列表

2.设计思路

1.自定义函数int factorsum( int number ),函数名factorsum( ),返回值为整型,输入数据number为整型;
2.定义变量i,total=0;
3.如果number1,返回结果为1;否则进入循环for(i=1;i<number;i++);
4.如果number%i
0,total=total+i;
5.重复3,4,直到i=number,如果循环结束后totalnumber,返回total;
6.自定义函数void PrintPN( int m, int n ),函数名为 PrintPN( ),函数无返回值,输入m,n为整型;
7.定义变量i,j,r,sum=0,flag=0,
8.如果m
1;printf("%d = %d\n",m,m),flag=1;
9.否则进入循环for(i=m;i<=n;i++),如果factorsum(i)i,sum=0; flag=1,并进入子循环for(j=1;j<i;j++),如果i%j0,sum=sum+j;
10.重复执行步骤九,直到条件不成立;
11.如果sumi,printf("%d = ", i);并输出第一个因子1;进入循环for(r=2;r<i;r++),如果i%r0,printf(" + %d",r);循环结束后输出一个换行符;
12.如果flag==0,输出No perfect number。

3.遇到的问题pta列表提交说明

本题一开始对完数的本质理解不清晰,理解清楚以后就好做了。

3.题目7.1求组合数

1.本题提交列表

2.设计思路

定义变量m,n储存输入数;输入m,n;调用fact函数,输出结果;
fact函数
定义浮点型变量result=1;令i=1,判断i<=n?,是则result=result*i,i++,否则return result.

3.遇到的问题pta列表提交说明

二.截图本周题目集的PTA最后排名