代码改变世界

C语言的第 次作业总结

2017-11-18 22:55  小厮sir  阅读(354)  评论(1编辑  收藏  举报

PTA实验作业

第一题:

使用函数输出水仙花数

1.设计思路:

2.碰到的问题及解决方法:

实验中碰到的主要问题是:虽然知道如何求每一位的数但不知道如何输出m到n之间的水仙花数,我上面截图中的和瓮恺视频中的相比感觉很复杂感觉很复杂,但我把我整个的思考过程写出来,还是解决不了这个题最多只能输出第一条语句;第二个问题在于题目之中已经有一个if当我不知道函数中是否还需要一个if判断语句,另外就是判断m和n时有两个变量是不是要判断两次?,他有m和n两个变量那函数中定义时是不是也要定义两次?最后一个问题是当调用多个函数时他们的顺序是怎样的;还有一个就是编译函数中可不可以调用数学函数,如果要用到数学函数是不是只能在开头调用?

3.本题实验结果:


int narcissistic( int number );
void PrintN( int m, int n );

int main()
{
    int m, n;

    scanf("%d %d", &m, &n);
    if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m);
//    PrintN(m, n);
   // if ( narcissistic(n) ) printf("%d is a narcissistic number\n", n);

    return 0;
}*/

int narcissistic( int number ){
	int result=0;
	int i;
	int a;
	int count;//统计输入的数字的位数
	count=0;
	while(number!=0){
	    number=number%10;
	    count++;	
		for(i=0;i<count;i++){
		a=number*number;   //每一个数位的次方数
		result=result+a;
		}
		number=number/10;
	}
	
	
	
	
	

	number=number%10;
	for(i=1;i<count;i++){
		a=number*number;   //每一个数位的次方数
		result=result+a;
	}
	number=number/10;
	
	
	
	
	*/
	if(result==number){
		return result;
	}
}

第二题:

求逆序数

1.设计思路:

1.定义一个result用来保存最后求出的逆序数
2.先求出每一位采用%10然后/10
3.再将求出来的位数反过来排列所以要*10然后结果再加上每次去掉的个位数

2.碰到的问题及解决方法:

我这次是直接求出了结果,比如1230可以输出321,但是1230要如何输出0321,看了翁恺的视频还是不懂

3.本题实验结果:

第三题:

400~499四出现的次数

1.设计思路:

1.定义count用来表示四出现的次数,j用来表示循环的次数因为只用三位,x用来表示输入的数字
2.for循环循环三次,每次下面用if语句判断,如果是4就count加一
3,最后输出count的值

2.碰到的问题及解决方法:

这样有位数限制的会输出但如果没有位数限制要怎么控制循环

3.本实验的结果

截图排名

本周学习总结

循环中怎么知道他是要用循环还是嵌套循环,还有当我分析出多个循环是要怎么弄那个这几个循环也就是说循环可不可以并列