C语言for循环结构经典练习

这篇博客详细介绍了C语言for循环的基本知识和使用技巧,通过11个经典例题解析,包括水仙花数、完数、质数、阶乘之和等,深入理解循环结构。同时,涵盖了判断回文数、计算字符个数和连续输入求平均值等实用问题的解决方案。
摘要由CSDN通过智能技术生成

一、for循环基本知识

基本结构:

for (式子1;式子2;式子3) 语句;  //语句也可以是复合语句

执行过程:

首先执行式子1(式子1只执行第一次),然后用式子1的结果去和式子2去判断,式子2为真则执行循环语句(为假就不执行),循环语句执行完去执行式子3,再用式子3执行完后的值去判断式子2的真假,如此重复,直到执行完式子3后的结果不符合式子2,循环结束。

注意事项:

  • 一般式子1代表初值,式子2代表条件,式子3代表增量
  • 三个式子之间用两个分号进行分隔,且两个分号不可省略
  • 三个式子都可以进行省略,若不写式子2,缺省为条件永真

二、经典例题及解析

1.水仙花数

水仙花数:水仙花数是一个三位数,特点是各个位数的立方和等于该数本身。

//水仙花数是一个三位数,特点是各个位数的立方和等于该数本身。
//例:153=1*1*1+5*5*5+3*3*3
#include <stdio.h>

int main()
{
   
	int i,a,b,c;
	for(i=100;i<=999;i++)    //保证范围为三位数
	{
   
		a = i%10;    //取变量的个位数
		b = i/10%10;    //取变量的十位数
		c = i/100;    //取变量的百位数
		if ((a*a*a+b*b*b+c*c*c) == i) printf("%d\n",i);  
	}
   
   return 0;
}

运行结果:
在这里插入图片描述

2.求规定范围内的完数

完数:一个正整数的所有真因子(除了自身以外的约数)的和恰好等于它本身

//完数定义:一个正整数的所有真因子(除了自身以外的约数)的和恰好等于它本身
//例:6为完数,6的真因子为1,2,3  6=1+2+3
#include <stdio.h>
int main()

{
   
    int n,i,j,sum;
    printf("请输入计算完数终止数:\n");
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    {
   
        sum=0;  //一定要保证每次sum的值都要进行刷新(在循环体内)
        for (j=1;j<i;j++)  //保证小于i,不可等于(完数定义)
        {
   

            if (i%j==0) sum+=j;
        }
        if (sum==i) printf("%d\n",i);
    }
    return 0;
}

运行结果:
在这里插入图片描述

3.求规定范围内质数

质数:一个大于1的整数只能被1和自己整除

//质数:一个大于1的整数只能被1和自己整除
#include <stdio.h>
int main()
{
   
    int i,j,k,n;
1. 请写1个支付宝接龙红包程序. 随机产生1-100的随机数,作为红包金额. 让用户不断的去猜,直到猜正确为止.最后发给用户的红包金额是 红包金额/猜得次数. 2. 循环录入5个人的年龄并计算平均年龄,如果录入的数据出现负数或大于100的数,立即停止输入并报错. 3. 实现要求用户一直输入QQ号码和密码,只要不是123456、888888就一直提示要求重新输入,如果正确则提登录成功. 4. 1-100之间不能够被7整除的数的和. 5. 求1-200之间的所有的整数的累加和 6. 求1-100之间6的倍数的个数 7. 输入班级人数,然后依次输入学员成绩,计算班级学员的平均成绩和总成绩 8. 2006年培养学员80000人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?*** 9. 从键盘输入10个数,求出最大数 10. 1000~ 5000之间有多少整数,其各位数字之和为5,分别是哪些数(例如整数2003的各位数字之和为 2+0+0+3 ,等于5)), 并统计满足条件的整数有多少个。 11. 求1-100中 是7的倍数 的数值之和 12. 求1-1000之间的所有的奇数之和 13.猜数字游戏. 随机产生1个1-100之间的数 让用户猜 当用户输入的数比产生的随机数大 就输出 猜大了 并让用户继续输入新的数.。 当用户输入的比产生的随机数小的时候 就输出 猜小了 并且继续猜 当用户刚好输入的就是这个随机数的时候 提示成功 并显示用户猜了多少次. 14. 老师问学生,这道你会做了吗? 如果学生答"会了(y)",则可以放学. 如果学生不会做(n),则老师再讲一遍,再问学生是否会做了......直到学生会为止,才可以放学. 直到学生会或老师给他讲了10遍还不会,都要放学 15. 写1个程序. 随机的产生1个2位数的加法运算.让用户输入这个运算的结果 然后判断这个结果是否正确. 来10次. 每个人默认有10分. 产生10个加法运算.操作数的范围在0-100之间. 每产生1个加法运算 就让用户输入结果.判断是否正确. 当回答正确的时候就为用户加1分. 错误的时候就扣1分. 当10道题目回答完毕之后 就显示用户得的分数. ***
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秦同学学学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值