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

C++ 基础语法 (循环)

admin2天前未分类12

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;
}

优化解法

思考优化方向:

img

#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/

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

img

#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++ 基础语法 (循环)” 的相关文章

(转载) 告诉你被盗的 iPhone 是如何一步步被黑客解锁的 [解锁 iPhone]

(转载) 告诉你被盗的 iPhone 是如何一步步被黑客解锁的 [解锁 iPhone]

写在前面的话iPhone 到底安不安全?这个梗已经讨论了很久了。而我今天要告诉大家的是,就算你的 iPhone 6s 设置了六位数字密码,并且还有 touch ID 的保护,黑客同样能够解锁你的手机。故事背景就在三天之前,有一名用户告诉我们他的 iPhone 6s 被偷了。就在他的手机被盗之后不久,...

(原创)记一次终端售货机的沙盒逃逸

(原创)记一次终端售货机的沙盒逃逸

楼主小白一枚,第一次发文章,希望各位大佬多多指教发 freebuf 未能通过,于是分享群友 hhh,还是很基础,直接复制过来所以多了 freebuf 的码。偶然发现学校里的终端机是 win7 的,就尝试一下逃逸机器大概长这个样子(下晚课开始兴风作浪)让我们来看一下操作界面(ps: 拍广告的妹子也不咋...

(原创)市教育局 web 渗透 — 市 OA 系统 [web 渗透实例][教育局网络安全][内网安全][内网渗透][oa 系统漏洞]

(原创)市教育局 web 渗透 — 市 OA 系统 [web 渗透实例][教育局网络安全][内网安全][内网渗透][oa 系统漏洞]

一、渗透前置说明(授权与免责)1. 授权声明本次渗透是在取得教育局网络第三方厂商(即时讯立维公司)授权许可之后进行的渗透测试。漏洞报告已第一时间交给教育局及第三方厂商,并协助厂商完成修补,至文章发布时,文中漏洞已修复。本文仅选取漏洞报告部分内容公开,完整漏洞报告模板存放于社团群内部。2. 免责申明请...

(原创)校园卡破解系列之权限克隆 [pm3 破解饭卡][pm3 克隆数据][校园卡克隆][IC 卡克隆]

(原创)校园卡破解系列之权限克隆 [pm3 破解饭卡][pm3 克隆数据][校园卡克隆][IC 卡克隆]

一、免责声明本文主张交流与科研学习,请勿对文中提及的内容进行恶意使用!本社团及作者对读者后续的行为不承担任何法律责任。此文章是综合之前饭卡复制、权限提升漏洞后的合并版本,后半部分聚焦饭卡破解;若看过之前文章,可直接跳转至 “(一)饭卡权限提升” 章节。二、基础准备:工具与测试对象1. 核心工具:PM...

(原创)求人不如求己 -- 剪辑音乐就是这么简单 [如何剪辑音乐]

(原创)求人不如求己 -- 剪辑音乐就是这么简单 [如何剪辑音乐]

每每到了学校有活动,需要播放歌曲时,QQ 就多几个好友,消息又 99+,不消问什么事情,就知道是找我剪辑歌曲的同学了。怎么说,我这人对别人提出的需求,都尽力去帮助的,在剪辑音乐这事情上,从没拒绝过,但年复一年,每次剪辑音乐其实很简单,但是量多,就比较影响自己时间了,我又不会拒绝别人,很是尴尬,所以...

(原创) 校园卡破解系列之数据修改 [pm3 破解饭卡][pm3 修改数据][校园卡修改][IC 卡修改数据]

(原创) 校园卡破解系列之数据修改 [pm3 破解饭卡][pm3 修改数据][校园卡修改][IC 卡修改数据]

(二)吃不完的饭卡提升完 IC 卡权限,就该考虑能不能修改饭卡金额了。通过两次消费前后饭卡数据的对比分析,发现虽然卡片数据包含较多扇区和区块,但消费前后变化的地方仅涉及两个扇区,这为后续分析提供了便利。通过十六进制与十进制转换,可进一步拆解变化的数据:消费后金额:373.2(数字:37320;16...