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

article/2025/7/2 13:26:35

文章目录

  • 一、for循环基本知识
  • 二、经典例题及解析
    • 1.水仙花数
    • 2.求规定范围内的完数
    • 3.求规定范围内质数
    • 4.计算阶乘之和
    • 5.计算5+55+555+555+55555(类型)
    • 6.计算1+12+123+1234+12345(类型)
    • 7.判断用户输入正整数的位数
    • 8.判断某正整数是否为回文数
    • 9.九九乘法表
    • 10.统计用户输入的字符中,英文字母,空格,数字以及其他字符的个数
      • for循环,并利用ASCII判定范围
      • while方法,利用字符判定范围
    • 11.连续输入计算平均值(保留两位小数)

一、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;printf("请输入终止范围:");scanf("%d",&n);for (i=2;i<=n;i++){k=1;         //借助k的值对是否为质数进行判断,需保证每次k都能刷新for (j=2;j<i;j++)   //最小质数是2{if (i%j==0){  k=0;       //在这期间只要有一个其他数可对该数进行整除,就代表该数不是质数break;     }}if (k==1) printf("%d\n",i);}
}

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

4.计算阶乘之和

正整数的阶乘:是所有小于及等于该数的正整数的积,并且0的阶乘为1。
自然数n的阶乘写作n! 例:5!=5 * 4 * 3 * 2 * 1

//正整数的阶乘:是所有小于及等于该数的正整数的积,并且0的阶乘为1。
//自然数n的阶乘写作n!。
//5!=5*4*3*2*1
#include <stdio.h>
int main()
{int i,n,sum=0,p=1;printf("请输入阶乘终止值:\n");scanf("%d",&n);for (i=1;i<=n;i++){p*=i;   //根据找规律得出sum+=p;  //累加求和}printf("阶乘结果为:%d",sum);}

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

5.计算5+55+555+555+55555(类型)

大同小异,其他数值也可以这样计算

#include <stdio.h>
int main()
{int i,sum=0,p=0;for (i=1;i<=5;i++)     //循环次数(几个5){p=p*10+5;   //找规律,注意这次p为0!!!sum+=p;     //每循环一次就进行叠加}printf("结果为:%d",sum);
}

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

6.计算1+12+123+1234+12345(类型)

此类题大部分都是先找规律,如需累加则在循环体内累加

#include <stdio.h>
int main()
{printf("%d",1+12+123+1234+12345);int i,sum=0,p=0;for (i=1;i<=5;i++){p=p*10+i;    //同样找规律,然后叠加sum+=p;}printf("结果为:%d",sum);
}

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

7.判断用户输入正整数的位数

#include <stdio.h>
int main()
{int n,k=0;printf("请输入正整数:\n");scanf("%d",&n);for (;n!=0;)   //while也可以{k++;n/=10;   //很粗名,每次除10,减少一位数直到为0停止}printf("该正整数的位数为:%d",k);
}

运行结果:
在这里插入图片描述
编写程序计算x的y次方

#include <stdio.h>
int main()
{int x,y,i,p=1;printf("请输入x和y\n");scanf("%d%d",&x,&y);for (i=1;i<=y;i++)   //循环y次{p*=x;     //p的值为初始值必须为1}printf("x的y次方为%d",p);return 0;
}

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

8.判断某正整数是否为回文数

回文数:从左向右看和从右向左看都一样
例:1234321是回文数

#include <stdio.h>
int main()
{int n,y,p=0;printf("请输入测试正整数\n");scanf("%d",&n);y=n;while (n!=0){p=p*10+n%10;   //取这个正整数的最后一位,并且与前面相加就不成第一位啦嘛 //经典,有空就回顾一下n/=10;   //每次执行去掉正整数一位数}if (p==y) printf("%d是回文数",y);else printf("该数不是回文数");return 0;}

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

9.九九乘法表

#include <stdio.h>int main()
{int i,j;for (i=1;i<=9;i++){      //外循环,循环9次for (j=1;j<i+1;j++){      //内循环,以外循环的变量为范围printf("%d*%d=%d  ",j,i,i*j);    //注意i和j的先后顺序,看题}printf("\n");    //不可在内循环体内}return 0;
}

在这里插入图片描述

10.统计用户输入的字符中,英文字母,空格,数字以及其他字符的个数

for循环,并利用ASCII判定范围

//for循环,并利用ASCII判定范围
#include <stdio.h>
int main()
{int z=0,s=0,k=0,o=0;char ch;printf("请输入字符串\n");for (;1;){ch=getchar();if (ch == '\n') break;else if (ch>=65&&ch<=90 || ch>=97&&ch<=122) z+=1;else if (ch == 32) k+=1;else if (ch>=48&&ch<=57) s+=1;else o+=1;}printf("该字符串中英文字母占:%d个\n该字符串中空格占:%d个\n该字符串中数字占:%d个\n该字符串中其他字符占:%d个\n",z,k,s,o);}

while方法,利用字符判定范围

//while方法,利用字符判定范围(其实也还是ASCII,只不过这个不容易出错)
#include <stdio.h>
int main()
{int z=0,s=0,k=0,o=0;char ch;printf("请输入字符串\n");while ((ch=getchar())!='\n'){if (ch>='A'&&ch<='Z' || ch>='a'&&ch<='z') z+=1;   //也可以用字符表示范围,ASCII有可能会记错else if (ch == ' ') k+=1;else if (ch>='0'&&ch<='9') s+=1;else o+=1;}printf("该字符串中英文字母占:%d个\n该字符串中空格占:%d个\n该字符串中数字占:%d个\n该字符串中其他字符占:%d个\n",z,k,s,o);}

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

11.连续输入计算平均值(保留两位小数)

#include <stdio.h>
int main()
{int i;float n,sum=0.0;  //注意数据类型for (i=1;i!=0;i++){printf("请输入需要累加的数值%d\n(注:输入0时结束)\n",i);scanf("%f",&n);sum+=n;if (n==0) {printf("平均值为%.2f",sum/i); break;  //保留两位小数}}
}

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


http://chatgpt.dhexx.cn/article/FRIGOvLe.shtml

相关文章

Java基础语法——循环结构

每日正能量 趁你现在还有时间&#xff0c;尽你自己最大的努力&#xff0c;努力做成你最想做的那件事&#xff0c;成为你最想成为的那种人&#xff0c;过着你最想过的那种生活。这个世界永远比你想的要更精彩&#xff0c;不要败给生活。 循环结构 【本章内容】1. while循环 2. d…

Python - 循环结构

循环结构 &#x1f40d;While循环&#x1f40d;While…else…循环&#x1f40d;for循环&#x1f40d;for…else…循环&#x1f40d;循环体结束语句&#x1f40d;嵌套循环 本次主要介绍的是程序的循环结构逻辑。 循环就是按照一定的条件重复的去做一件事情&#xff0c;当条件不成…

While循环结构

1.while循环语句 1.1循环概念 循环是程序设计语言中反复执行某些代码的一种计算机处理过程 1.2 while循环的作用 重复执行某些代码 1.3 while循环的基本语法 while 条件&#xff1a; ____反复执行的代码 …… while及while中的代码块就是while循环代码块。看以下示例&#…

三种循环结构

循环结构&#xff1a;循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件&#xff0c;判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为以下两种形式:先判断后执行的循环结构和先执行后判断的循环结构。下面将对各个循环结…

c语言中循环结构有什么作用,浅谈C语言中循环结构程序设计

高茂婵 吕雪 彭星星 孙新杰 摘要:现在人们对计算机中的算法的要求越来越高,顺序结构已经满足不了人们的需求,我们需要探索更高层次的操作算法。在程序设计中,我们操作的时候经常遇到需要重复执行的情况,而循环结构就恰恰满足了这个要求。在程序设计中,循环结构是算法中必…

Python循环结构

今天我们讲一下python的循环结构&#xff0c;习题比较多&#xff0c;大家多联系&#xff0c;有问题可以给我留言。 目录 一、Python中循环的介绍1、什么是循环&#xff1f;2、循环的作用3、循环的种类 二、while循环基本语法及其应用1、while循环的基本语法2、while循环的执行…

LabVIEW循环结构

LabVIEW可提供For循环和While循环两种循环结构。For循环必须指定循环总次数&#xff0c;达到指定循环次数后程序会自动退出循环&#xff1b;而While循环则不用指定循环次数&#xff0c;只需要指定循环退出条件&#xff0c;如果循环退出条件成立&#xff0c;则退出循环。所以知道…

Python循环结构详解

今天继续给大家介绍Python相关知识&#xff0c;本文主要内容是Python循环结构。 循环是一种编程语言的重要结构&#xff0c;在Python中&#xff0c;存在着两种循环&#xff0c;一种是遍历循环&#xff0c;一种是while循环。 一、遍历循环 所谓遍历循环&#xff0c;即遍历一个…

C语言基础——循环结构

C语言的基本结构之一。在程序中有连续执行的操作可以用循环结构&#xff0c;简化函数&#xff0c;C语言中有三种循环结构&#xff0c;for循环&#xff0c;while循环&#xff0c;do-while循环&#xff0c;其中for循环最常用。 一循环结构概述 1.什么是循环执行 循环执行是循环…

Python中的循环结构

Python中循环的介绍 1、什么是循环 现实生活中&#xff0c;也有很多循环的应用场景&#xff1a; &#xff08;1&#xff09;食堂阿姨打菜&#xff1a;接过顾客的餐盘→询问菜品→打菜→递回餐盘&#xff0c;重复以上过程&#xff0c;直到所有顾客的菜都打完了 &#xff08;…

C++循环结构

C循环结构 一、循环结构1、while 循环1.1 语法1.2 练习题1.3 代码找错 2、do-while 循环2.1 语法2.2 练习题 3、for 循环3.1 语法3.2 练习题 4、三种循环执行顺序 二、循环嵌套1.输出正方形2.输出乘法口诀3.输出平行四边形4.输出数字菱形 三、跳转语句1.break语句1.1 在 switch…

MATLAB循环结构

目录 1、for语句 注意事项 (1)for语句针对行向量的每一个元素执行一次循环语句体&#xff0c;循环的次数就是向量中元素的个数&#xff0c;也可以针对任意向量。 (2)可以在for循环语句体中修改循环变量的值&#xff0c;当程序执行流程再次回到循环开始时&#xff0c;就会自…

【python】循环结构大归纳看这里就够了~

一、循环结构 1.认识循环&#xff1a;反复做同一件事情的情况&#xff0c;称之循环。 2.循环的分类&#xff1a;(1) while循环 &#xff08;2&#xff09;for循环 (3) 循环的嵌套 二、while循环的使用 1.while循环 while循环&#xff1a;代码一直重复&#xff0c;直到条件…

三种常见循环结构

问&#xff1a;求1-100的所有自然数之和。 生活中看到这个问题我们会用数学老师教的简便计算:12...100&#xff08;1100&#xff09;&#xff08;299&#xff09;&#xff08;5051&#xff09;50*1015050&#xff1b;但是计算机并不会简便计算&#xff0c;它只会单纯的123...10…

简单的5种循环结构

ilili 循环结构 1. For循环 重复重复 for 循环语句&#xff1a; for(初始化变量&#xff1b;循环条件&#xff1b;循环迭代){ 循环语句&#xff1b; } for(var i0;i<count;i){ sumsumi; } document.write(""sum); 迭代就是和— —的意思 例子: var sum0; for…

C语言—循环结构

目录 循环结构 循环控制语句 ​ 循环类型 一.while循环 语法 break在while循环中的作用 continue在while循环中的作用 多组输入 清空输入缓存区 二.for循环 语法 三.do while 语法 break和continue在do while循环中的使用 循环结构 循环结构是指在程序中需要反…

利用汉字在计算机里面的编码来得到汉字的首拼音:

利用汉字在计算机里面的编码来得到汉字的首拼音&#xff1a; static public string GetChineseSpell( string strText) {int len strText.Length;string myStr "";for(int i0;i<len;i){myStr getSpell(strText.Substring(i,1));}return myStr;} static publ…

获取中文拼音首字符

2019独角兽企业重金招聘Python工程师标准>>> http://pinyin4j.sourceforge.net/ 转载于:https://my.oschina.net/soho00147/blog/1633932

Excel中文转换为拼音(大写首字母、小写首字母、全拼、全拼首首字母大写)

很多时候我们需要处理一下汉字转换为拼音的需求&#xff0c;今天给大家分享一下标题包含的一下转换方法 1 、excel通过宏可以很好的处理汉字转换为拼音的 1.1下面的是转为全拼音的宏代码 Function pinyin(p As String) As String i Asc(p) Select Case i Case -20319 To -203…

php 获取字符串完整拼音,PHP 获取中文字符串的首字符拼音字母

class"php"><?php header(Content-Type: text/html; charsetutf-8); $str"阅谁问君诵&#xff0c;水落清香浮"; echo getFirstCharCode($str); function getFirstCharCode($str){ $str iconv("UTF-8","gb2312", $str); $targe…