C学习第三天----循环语句
while循环(计算用户输入的为几位数)
#include <stdio.h> int main() {
int x=0; int n=0; // 获取用户输入的值 printf("请输入任一整数\n"); scanf("%d",&x); //下面几行的作用是防止输入0时位数为0,所以先自增了,即使输入为0n也是1,为了不让后面的出错,x/10是使输入的值少了一位 n++; if(x<0){ //这个if判断的作用是让x取绝对值,能够计算负数的位数 x=-x/10; }else if(x>0){ x/=10; } while(x>0){ x=x/10; n++; } printf("您输入的这是一个%d位数",n); return 0; }
do while循环(计算用户输入的为几位数)
#include <stdio.h> int main() { int x=0; int n=0; // 获取用户输入的值 printf("请输入任一整数\n"); scanf("%d",&x); do{ x/=10; n++; }while(x>0); printf("您输入的这是一个%d位数",n); return 0; }
课堂案例
1.计算平均值
#include <stdio.h> int main() { // 算平均值 int num=0; int sum=0; int i=0; while(num!=-1){ // 获取用户输入的数据 printf("请输入学生成绩(输入-1退出程序)\n"); scanf("%d",&num); sum=sum+num; i++; } double ave=1.0*(sum+1)/(i-1); //可以1.0×后面的整数,结果就是浮点数了 printf("平均值是%f",ave); return 0; }
2.数的逆序
#include <stdio.h> int main() { /* 思路:取余得到个位数 */ int num=12345; int di=0; //个位数 int ret=0; //结果 while(num>0){ di=num%10; //得到了个位数 5 4 3 2 1 ret=ret*10+di; //得到了每次的结果 5 54 543 5432 54321 num/=10; //这一步为了让num每次都少一位 } printf("%d",ret); return 0; }
for循环(代码书写格式)
int i;
for(i=1;i<=n;i++){ }
小TIPS:
1.如果有固定次数,用for
2.如果必须执行一次,用dowhile
3.其他情况用while
break接力
#include <stdio.h> int main() { //接力break,本题用接力break的作用是只输出一个符合规范的结果,不全部输出 /* 问题:用1角硬币,2角硬币,5角硬币怎么排列组合出2元 */ int one,two,five; int coin=2; int change=0; for(one=1;one<coin*10;one++){ //coin*10的意思是1元最多是10个1角硬币 for(two=1;two<coin*10/2;two++){ for(five=1;five<coin*10/5;five++){ if(one+two*2+five*5==coin*10){ //代表一个一角,两个一角,五个一角 change=1; printf("%d个一角硬币%d个两角硬币%d个五角硬币\n",one,two,five); // goto out; 这个goto的作用和那三个break是一样的,out:到哪他就从哪里跳出 } break; } if (change==1){ //这里和下面的作用是一样的,加一个判断条件可以跳出循环 break; }; } if (change==1){ break; } } //out: 从这里跳出 return 0; }
计算前n项和
#include <stdio.h> int main() { /* 要求:计算1+1/2+1/3+...+1/n */ int i; int n=0; double sum=0.0; scanf("%d",&n); for(i=1;i<=n;i++){ sum=sum+1.0/i; } printf("%f",sum); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)