江南信息学2023第三周练习20230310 题解

比赛链接

1001:三个数的最大值

条件判断,如判断a最大就是a>=b && a>=c,以此类推

复制代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    cout<<max(a,max(b,c)); 
    return 0;
}
复制代码

 

1002:星期几

取余,n%7结果是0则是周一,是1则周二,以此类推

复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b;
    cin>>a;
    b=a%7;
    if(b==0)cout<<"Monday";
    if(b==1)cout<<"Tuesday";
    if(b==2)cout<<"Wednesday";
    if(b==3)cout<<"Thursday";
    if(b==4)cout<<"Friday";
    if(b==5)cout<<"Saturday";
    if(b==6)cout<<"Sunday";
    return 0;
}
复制代码

 

1003:奇偶分家

设两个求和变量sum1,sum2为0,然后循环n遍,每次循环都输入x,判断x的奇偶性,然后让sum1或者sum2++,最后输出结果

复制代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,a=0,b=0;
    cin>>n;
    while(n--){
        int c;
        cin>>c;
        if(c%2==0)b++;
        else a++;
    }
    cout<<a<<" "<<b;
    return 0;
}
复制代码

 

1004:C语言实验题――分割整数

设定变量k为0,数组a,然后输入n后,用while当n大于0时执行while循环,每次通过a[++k] = n%10 把n的个位存储起来,再n/=10去掉个位,就可以把每一位数都存到a数组中了,最后把a数组的内容逆序输出即可

复制代码
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     int a[11];
 6     int n,k=0;
 7     cin>>n;
 8     while(n>0)
 9     {
10         a[++k] = n%10; //将n的个位数存储到a数组的第k下标 
11         n/=10; //去掉个位 
12     }
13     for(int i=k;i>=1;i--)逆序输出
14     {
15         cout<<a[i];
16         if(i!=1)cout<<" ";
17     }
18      return 0;
19 }
复制代码

 

1005:斐波那契数列

斐波那契数列,先定义数组下标1和2都为1,然后从第三项开始都等于前两项之和,如a[i] = a[i-1]+a[i-2]

复制代码
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     int n,t;
 6     cin>>t;
 7     while(t--) //t组数据
 8     {
 9         cin>>n;
10         int a[50] = {0,1,1}; //初始化a数组的第1,2项为1
11         //斐波那契数列是从第3项开始 = 前两项之和
12         for(int i=3;i<=n;i++)
13             a[i] = a[i-1]+a[i-2]; 
14         //输出a[n]即可 
15         
16     } 
17      return 0;
18 }
复制代码

 

1006:阶乘

乘法问题,需要让sum设为1,然后i循环1到n,每次让sum*=i

复制代码
#include <iostream>

using namespace std;

int f[50] = {0, 1, 1};

int main()
{
    int n;
    cin >> n;
    long long ans = 1;
    for (int i = 1; i <= n; i ++ ) ans *= i;
    
    cout << ans << endl;
    
    return 0;
} 
复制代码

 

1007:储蓄问题

设一个变量year为0,输入当前价钱n和目标m,当n<m时while循环,每次让n = n + n*0.03,year++;循环结束后输出year

复制代码
#include <iostream>

using namespace std;

int f[50] = {0, 1, 1};

int main()
{
    double a, b;
    cin >> a >> b;
    int t = 0;
    while (a < b)
    {
        a = a + a * 0.03;
        t ++;
    }
        
    
    
    cout << t << endl;
    return 0;
} 
复制代码

 

posted @   CRt0729  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示