当前位置: 首页 > news >正文

C语言实验 循环结构

时间:2024.11.8

一、实验

7-1 求交错序列前N项和

#include<stdio.h>
#include<math.h>
int main(){int n;double a,b,c;double sum=0;scanf("%d",&n);for(int i=1;i<=n;i++){a=pow(-1,i+1)*i;b=2.0*i-1.0;c=1.0*a/b;sum+=c;}printf("%.3lf",sum);return 0;
}

TIPS:

注意变量的类型,整型的计算无法满足小数的要求 

7-2 寻找250

#include<stdio.h>
#include<math.h>
int main(){int n;for(int i=1; ;i++){if(n==250){printf("%d",i-1);break;}scanf("%d",&n);} return 0;
}

TIPS:

注意循环的退出和输入数据的时机 。

7-3 最大公约数和最小公倍数

#include<stdio.h>
#include<math.h>
int main(){int m,n,t,p;scanf("%d %d",&m,&n);t=m>n?n:m;while(1){    if(m%t==0&&n%t==0){break;}else t--;}p=m*n/t;printf("%d %d",t,p);return 0;
}

 TIPS:

最大公约数和最小公倍数的找法,如果两个都需要求,可以通过简便方法由最大公因数求最小公倍数。

7-4 统计字符

#include<stdio.h>
#include<math.h>
int main(){char m;int l=0,b=0,d=0,o=0;for(int i=1;i<=10;i++){ scanf("%c",&m);if((m>='a'&&m<='z')||(m>='A'&&m<='Z')){l++;}else if(m==' '||m=='\n'){b++; }else if(m<='9'&&m>='0'){d++;}else {o++;}}printf("letter = %d, blank = %d, digit = %d, other = %d",l,b,d,o);return 0;
}

 

7-5 大笨钟

 

#include<stdio.h>
#include<math.h>
int main(){int m,h,n;scanf("%d:%d",&h,&m);if((h<12)||(h==12&&m==0)){printf("Only %02d:%02d.  Too early to Dang.",h,m);}else {if(m==0){n=h-12;}else n=h-11;
for(int i=1;i<=n;i++)
{printf("Dang");}}return 0;
}

TIPS:

先考虑一般情况,再考虑整点,分界点(零点、中午12点) 等的特殊情况

7-6 统计选票

 

#include<stdio.h>
#include<math.h>
int main(){int t=0,j=0,n,s=0,f=0;
do{scanf("%d ",&n);if(n==1) t++;else if(n==1) t++;else if(n==2) j++;else if(n==3) s++;else if(n==0||n==4) f++;
}while(n!=-1);printf("Tom = %d Jerry = %d Spike = %d Invalid = %d\n",t,j,s,f);if(t<=f&&j<=f&&s<=f){  printf("Election invalid!");}return 0;
}

TIPS:

注意输出的顺序,哪个语句在前,哪个语句在后,注意输出和输入是否需要换行 

7-7 降价提醒机器人

#include<stdio.h>
#include<math.h>
int main(){int m,n;double h;scanf("%d %d\n",&n,&m);for(int i=1;i<=n;i++){scanf("%lf\n",&h);if(h<(m*1.0)){printf("On Sale! %.1lf\n",h);}}return 0;
}

 

7-8 幸运彩票

#include<stdio.h>
#include<math.h>
int main(){int m,n;int q,h;scanf("%d\n",&n);for(int i=1;i<=n;i++){scanf("%d\n",&m);q=m/100000+m/10000%10+m/1000%10;h=m%10+m%100/10+m%1000/100;if(q==h){printf("You are lucky!\n");}else printf("Wish you good luck.\n"); }return 0;
}

二、知识点

2.1注意变量的类型,整型的计算无法满足小数的要求 

2.2注意循环的退出和输入数据的时机 (break的使用)

2.3最大公约数和最小公倍数的找法。


http://www.mrgr.cn/news/68559.html

相关文章:

  • hive数据查询语法
  • 经典的ORACLE 11/12/19闪回操作
  • jvm垃圾回收算法
  • C++——酒店管理系统
  • C字符串 | 字符串处理函数 | 使用 | 原理 | 实现
  • 高活跃社区 Doge 与零知识证明的强强联手,QED 重塑可扩展性
  • YOLOv7-0.1部分代码阅读笔记-experimental.py
  • 使用STM32F407xx的GPIO引脚实现跑马灯效果的详细步骤
  • Linux进程通信之管道
  • oracle数据坏块处理(三)-数据抽取插入到新表中
  • RHCE—web服务器
  • VR的左右眼渲染方法
  • 08 反射与注解
  • 【Linux】解锁操作系统潜能,高效线程管理的实战技巧
  • vue3使用easy-player播放hls监控流
  • AIGC--如何在内容创作中合理使用AI生成工具?
  • 1 天通关 AWS AI 认证,AWS AI 从业者证书最强考试指南
  • LangChain 快速入门
  • 信息安全工程师(83)Windows操作系统安全分析与防护
  • 淘宝商品详情API大揭秘:用Python开启探险之旅
  • 自动驾驶中,2d图像目标检测(分割),融合激光雷达点云信息
  • ChatGLM2-6B微调记录【1】
  • 【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】题库(2)
  • ​解决‌win11无法打开msi安装程序包的方法‌
  • AI预测体彩排3采取888=3策略+和值012路+胆码+通杀1码测试11月8日升级新模型预测第128弹
  • 虚假新闻检测:CSV格式数据集的预处理与模型选择