C语言入门Day2-for循环

两道题目:水仙花数、分数求和

题目1

代码

//水仙花数
#include <stdio.h>
int main(){
	int m,n;
	while(scanf("%d%d",&m,&n) != EOF){
		if(m == 0 && n == 0)break;//m n都是0时跳出循环 
		int found = 0;//标记有无找到水仙花 
		for(int i = m;i <= n;i++){
			int num = i,sum = 0;//num是临时变量,sum每次循环前重置 
			//求出一个数的个数立方和 
			while(num != 0){//(加工后数字)取整不是0后,终止循环
				sum = sum + (num % 10)* (num % 10)*(num % 10);//假如num开始是153,这里就是sum=3*3*3
				num = num / 10;//这里num变成了15 
			}
			//判断求和是否等于本身,要用一个数标记全部中有无水仙花 
			if(sum == i){
				printf("%d ",i);
				found = 1;
			} 
		}
		//跳出循环来看总的有无水仙花 
		if(found == 0){
			printf("no");
		}
		printf("\n");
		
	}
	return 0;
} 

题目2

代码

//分数求和
#include <stdio.h>
int main(){
	int n;
	scanf("%d",&n);
	double up = 2,down = 1;
	double result;
	for( int i = 0;i < n;i++){
		result =  result + up/down;
		double temp = down;
		down = up;
		up = up + temp;
	}
	printf("%.2lf",result);
	return 0;
}
posted @ 2025-06-07 15:05  大西了个瓜  阅读(6)  评论(0)    收藏  举报