当前位置:首页 > 未分类 > 正文内容

C++ 基础语法 (循环)

admin1年前 (2024-08-01)未分类225

C++ 基础语法 (循环)

作者:xinyi

第一题 偶数

题目链接:https://www.acwing.com/problem/content/710/

#include <cstdio>

int main(){
   
   int i;
   i=1;
   while(i<=100){
       if(i%2==0) printf("%d\n",i);
       i++;
       
   }
   return 0;
}

第二题 奇数

题目链接:https://www.acwing.com/problem/content/711/

#include <iostream>

using namespace std;

int main(){
   
   int x;
   cin >>x;
   for(int i=1;i<=x;i++){
       if (i%2)cout<<i<<endl;
   }
   
}

第三题 正数

题目链接:https://www.acwing.com/problem/content/714/

#include <iostream>

using namespace std;

int main(){
   
   
   double x,sum;
   for(int i=0;i<6;i++){
   cin>>x;
   if(x>0) sum++;
       
   }
   cout <<sum<<" positive numbers"<<endl;
   return 0;
   
}

第四题 连续奇数的和 1

题目链接:https://www.acwing.com/problem/content/716/

#include <iostream>

using namespace std;

int main(){
   
   
   int x,y;
   int sum=141;
;

;

;

;


   if(x>y)swap(x,y);
   for (int i=x+1;i<y;i++){
       if(i%2) sum+=i;
   }cout <<sum<<endl;
   return 0;
}

第五题 最大数和它的位置

题目链接:https://www.acwing.com/problem/content/718/

#include <iostream>

using namespace std;


int main(){
   
   int x=0,y,a;
   for(int i=1;i<=100;i++){
       cin >>a;
       if (a>x){
           x=a;
           y=i;
       }
   }
   cout <<x<<endl<<y<<endl;
   return 0;
}

第六题 递增序列

题目链接:https://www.acwing.com/problem/content/723/

#include <iostream>

using namespace std;


int main(){
   
   int x;
   while(cin>>x){
       if(x==0)break;
       for(int i=1;i<=x;i++)
       cout<<i<<' ';
       cout<<endl;
   }
   return 0;
}

第七题 连续整数的和

题目链接:https://www.acwing.com/problem/content/722/

#include <iostream>

using namespace std;


int main(){
   
   int a,n;
   cin>>a;
   while(cin>>n,n<=0);
   cout<<((a+a+n-1)*n)/2<<endl;
   return 0;
}

第八题 约数

题目链接:https://www.acwing.com/problem/content/726/

#include <iostream>

using namespace std;

int main(){
   
   int a;
   cin >>a;
   int i=1;
   while(i<=a){
   if(a%i==0){
       cout<<i<<endl;
   } i++;  
   
       
   }
   return 0;
}

第九题 PUM

题目链接:https://www.acwing.com/problem/content/725/

#include <iostream>

using namespace std;

int main(){
   
   int a,b;
   cin >>a>>b;
   for(int i=0,k=1;i<a;i++){
       for(int j=0;j<b-1;j++){
           cout<<k<<' ';
           k++;
       }
   cout<<"PUM"<<endl;
       k++;
   }
   return 0;
}

第十题 六个奇数

题目链接:https://www.acwing.com/problem/content/712/

#include <iostream>

using namespace std;

int main(){
   
   int x;
   cin >>x;
   int n=6;
   while(n>0){
       if(x%2)
       {
       cout<<x<<endl;
       n--;
           
       }
        x++;
   }
   
   return 0;
   
}

第十一题 余数

题目链接:https://www.acwing.com/problem/content/717/

#include <iostream>

using namespace std;

int main(){
   
   int n;
   cin >>n;
   for (int i=1;i<10000;i++){
       
       if(i%n==2)
       cout<<i<<endl;
   }
       
   
   return 0;
   
}

第十二题 乘法表

题目链接:https://www.acwing.com/problem/content/713/

#include <iostream>

using namespace std;

int main(){
   
   int n;
   cin >>n;
   for (int i=1;i<=10;i++){
       
       cout <<i<<" x "<<n<<" = "<<i*n<<endl;
       
   }
   return 0;
   
}

这个题目一定要注意空格,不然无法 AC,会出现 Presentation Error

第十三题 实验

题目链接:https://www.acwing.com/problem/content/720

#include <iostream>
#include <cstdio>
using namespace std;

int main(){
   
   int n;
   cin>>n;
   int a;
   char t;
   int tz=0,ls=0,qw=0,sum=0;
   while(n--){
       
       cin >>a>>t;
       if(t=='C')tz+=a;
       else if (t=='R')ls+=a;
       else qw+=a;
       sum=tz+ls+qw;
   }
    printf("Total: %d animals\nTotal coneys: %d\n",sum,tz);
   printf("Total rats: %d\nTotal frogs: %d\n",ls,qw);
   printf("Percentage of coneys: %.2lf %\n",(double)tz/sum*100);
   printf("Percentage of rats: %.2lf %\n",(double)ls/sum*100);
   printf("Percentage of frogs: %.2lf %\n",(double)qw/sum*100);
   return 0;
}

第十四题 区间 2

题目链接:https://www.acwing.com/problem/content/715/

#include <iostream>

using namespace std;

int main(){
   
   int n;
   cin>>n;
   int t=0,y=0;
   while(n--){
       int x;
       cin>>x;
       if(x>=10&&x<=20)t++;
       else y++;
       
   }
   cout <<t<<" in"<<endl;
   cout<<y<<" out"<<endl;
   return 0;
}

第十五题 连续奇数的和 2

题目链接:https://www.acwing.com/problem/content/721/

#include <iostream>

using namespace std;

int main(){
   
   int n;
   cin>>n;
   int x,y;
   
   while(n--){
       int sum=0;
       cin>>x>>y;
       if(x>y)swap(x,y);
       for(int i=x+1;i<y;i++){
           if(i%2)sum+=i;
           
       }
       cout <<sum<<endl;
   }
   return 0;
}

第十六题 简单的斐波那契

题目链接:https://www.acwing.com/problem/content/719/

这个题需要用滚动思想:第一次a1=0、b1=1;第二次a=1,b的结果是第一次的b=a1+b1,以此类推。

#include <iostream>

using namespace std;

int main(){
   
   int n;
   cin>>n;
   int a=0,b=1,c=0;
   while(n--){
       cout<<a<<' ';
       c=a+b;
       a=b;
       b=c;
   }
   
   return 0;
   
}

第十七题 数字序列和它的和

题目链接:https://www.acwing.com/problem/content/724/

#include <iostream>

using namespace std;

int main(){
   
   
   int m,n;
 
   while(cin>>m>>n,n>0&&m>0){
       int sum=0;
       if(m>n) swap(m,n);
       for(int i = m;i<=n;i++){
           cout<<i<<' ';
           sum+=i;
       }
   
       cout<<"Sum=" <<sum<<endl;
   }
   return 0;
}

第十八题 完全数

题目链接:https://www.acwing.com/problem/content/727/

这个题目中 X 的范围是1≤X≤10^8,查询可知在100000000范围内仅有少数几个完全数,因此可直接判断求解。

#include <iostream>

using namespace std;

int main() {
   int n;
   cin >> n;
   while (n--) {
       int x;
       cin >> x;
       if (x == 6 || x == 28 || x == 496 || x == 8128 || x == 33550336)  
           cout << x << " is perfect" << endl;
       else cout << x << " is not perfect" << endl;
   }

   return 0;
}

第二十题 质数

题目链接:https://www.acwing.com/problem/content/728/

错误代码

以下写法会超时(time limit exceeded),需优化解法

#include <iostream>

using namespace std;

int main(){
   
   int n;
   cin>>n;
   while(n--){
       bool i_p=true;
       int x;
       cin>>x;
       if(x==1) cout<<x<<" is not prime"<<endl;
       for(int i=2;i<x;i++){
           if(x%i==0){
               i_p=false;
               break;
           }
           else i_p =true;
       }
       if(i_p) cout <<x<<" is prime"<<endl;
       else cout <<x<<" is not prime"<<endl;
   }
   return 0;
}

优化解法

思考优化方向:

#include <iostream>

using namespace std;


int main(){
   
   int n;
   cin>>n;
   while(n--){
       bool i_p=true;
       int x;
       cin>>x;
       if(x==1) cout<<x<<" is not prime"<<endl;
       for(int i=2;i*i<=x;i++){
           if(x%i==0){
               i_p=false;
               break;
           }
           else i_p =true;
       }
       if(i_p) cout <<x<<" is prime"<<endl;
       else cout <<x<<" is not prime"<<endl;
   }
   return 0;
}

此优化写法可正常 AC。

第二十一题 菱形

题目链接:https://www.acwing.com/problem/content/729/

该题需用到曼哈顿距离公式

#include <iostream>

using namespace std;

int main(){
   
   int  n;
   cin >>n;
   int cx=n/2,cy=n/2 ;//确定中心点坐标
   for(int i=0;i<n;i++){
       for(int j=0;j<=n;j++){//j<=n与j<n均可AC
           if(abs(i-cx)+abs(j-cy)<=n/2) cout <<'*';
           else cout<<' ';
       }
   
       cout <<endl;
   }
       return 0;
   }

过几天继续数组的练习。

注:原始内容中包含的参数信息(143, 'C++ 基础语法 (循环 ', 1722472200, 'C++ 基础语法 (循环) 作者:xinyi 第一题偶数 题目链接:https://www.acwing.com/problem/content/710/ #include  cstdio  int main (){ int i; i=1; while (i =100){ if (i%2==0) printf (% d\n,i); i++; ...', '', 1, 13, 'blog', 963, 0, 0, 'y', 'y', 'n', 'y', 'n', '', '', 0, '../content/uploadfile/202408/4b1c1722485557.jpg', '65', 0, '', '', 0, 0)主要为数据标识字段,不涉及 C++ 语法讲解核心内容,故在 markdown 整理中暂不体现。若需保留此类字段或补充数组相关练习内容,可进一步补充说明。

这份 markdown 文档已完整梳理了 C++ 循环语法的 21 道题目,包含代码、题目链接和关键注意事项。若你后续补充了数组练习的内容,或者想对现有题目代码添加注释说明,都可以随时告诉我,我会继续完善这份文档。


扫描二维码推送至手机访问。

版权声明:本文由克拉玛依三十年社团发布,如需转载请注明出处。

本文链接:https://www.klmyssn.com/?id=72

分享给朋友:
返回列表

上一篇:汇编指令

下一篇:字符串练习题

“C++ 基础语法 (循环)” 的相关文章

小讲堂心得

小讲堂心得

参加小讲堂活动,是受邀两位学习部的同学十分热情的邀请,为同学们讲讲网络安全方面的知识。我感到十分荣幸,但又有些许担忧,怕讲不好,因为网络安全这个学科涉及的知识面十分宽泛,网络安全从其本质上来讲就是网络上的信息安全。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理...

(原创)sqlmap 注入初级教程 [sqlmap][sqlmap 指令][sqlmap 怎么用]

(原创)sqlmap 注入初级教程 [sqlmap][sqlmap 指令][sqlmap 怎么用]

一、熟悉 sqlmap 之路:核心注入场景与方法1. Sqlmap 之 Post 注入Post 注入适用于表单提交(如登录页、数据提交页)等场景,核心是通过抓取 Post 请求数据进行注入测试,以下为 4 种常用方法:方法一:基于请求文件(-r 参数)# 基础用法(请求文件与sqlmap同目录)sq...

(原创)空间可以查秘密了你们知道了嘛?

(原创)空间可以查秘密了你们知道了嘛?

一、前期准备:工具下载与安装1. 核心工具:蓝光安卓模拟器官网下载地址:https://www.bluestacks.cn/bdsem_anmnqpm.html用途:模拟安卓环境,用于登录 QQ 并访问空间小秘密(PC 端暂不支持直接查秘密,需借助模拟器)。2. 安装 QQ 应用打开蓝光安卓模拟器,...

利用 Wireshark 任意获取 QQ 好友 IP 实施精准定位

利用 Wireshark 任意获取 QQ 好友 IP 实施精准定位

虽然网上已经有了很多获取 IP 的 QQ 插件,但是其原理大致都是相同的,但是插件的安全性而言就不敢恭维了,下面介绍如何利用 Wireshark 获取好友 IP。一、选择本机网卡并启动 Wireshark 监听打开 Wireshark 软件,在界面中选择需要监听的本机网卡(根据网络连接方式选择,如无...

2017_最新过狗一句话编写_附成品 [过狗一句话][过安全狗 bypass]

2017_最新过狗一句话编写_附成品 [过狗一句话][过安全狗 bypass]

环境:php+mysql+apche安全狗:apache版本+8.10规则库即刻安全即刻安全纯技术交流群:307283889如需转载,请联系本博主声明,私自转载必追究Prat 1:思路构思以及实现在 bypass 小分队中 V@1n3R 表哥提到他明天会分享过 waf 的一句话。爱搞事的我当然不能只...

(原创)一句话、一个公交车泄露你的家庭地址

(原创)一句话、一个公交车泄露你的家庭地址

(本文章是给初学社工的人教个思路(社工帝请绕道!!!),若要真的社工出所有详细信息还需要结合别的办法)看到标题估计会以为我是标题党,其实这是真实案例,具体过程如下:原本想社工一位妹子,但未添加她的 QQ(微信),无从下手,只能等待机会。某天偶然听到她说:“那天......(无关内容),我在十三楼都快...