函数练习题1

root 站长 2023-06-03 9:06:34 2023-06-05 22:02:05 0
#include <iostream>
using namespace std;
void swap(int & a, int & b)
{
    int t;
    t = a;
    a = b;
    b = t;
}
int main()
{
    int a1, a2, a3, x;
    cin>>a1>>a2>>a3;
    if (a1 > a2)
        swap(a1, a2);
    if (a2 > a3)
        swap(a2, a3);
    if (a1 > a2)
        swap(a1, a2);  
    cin>>x;
    if (x < a2)
        if (x < a1)
            cout<<x<<' '<<a1<<' '<<a2<<' '<<a3<<endl;
        else
            cout<<a1<<' '<<x<<' '<<a2<<' '<<a3<<endl;
    else
        if (x < a3)
            cout<<a1<<' '<<a2<<' '<<x<<' '<<a3<<endl;
        else
            cout<<a1<<' '<<a2<<' '<<a3<<' '<<x<<endl;    
    return 0;
}

{{ vote && vote.total.up }}

共 11 条回复

root 站长

7.填空题(8分) 阅读程序写结果:

#include <iostream>
using namespace std;
int n, m;

int findans(int n, int m) {
    if (n == 0) return m;
    if (m == 0) return n % 3;
    return findans(n - 1, m) - findans(n, m - 1) + findans(n - 1, m - 1);
}
int main(){
    cin >> n >> m;
    cout << findans(n, m) << endl;
    return 0;
}

输入:5 6 输出:_____________

root 站长

5.填空题(8分) 阅读程序写结果:

#include <iostream>   
using namespace std;   
int fun(int n)    
{  
    if(n == 1)        
        return 1;      
    if(n == 2)        
        return 2;  
    return fun(n - 2) - fun(n - 1);    
}   
int main()    
{  
    int n;      
    cin >> n;  
    cout << fun(n) << endl;     
    return 0;    
}

输入:7 输出:_______

root 站长
4.单选题(1.5分)
下面的故事与(    )算法有着异曲同工之妙。
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事……’”

A. 枚举
B. 递归
C. 贪心
D. 分治
root 站长

2.填空题(8分) 阅读程序写结果:

#include <iostream>
using namespace std;
const int NUM = 5;
int r(int n)
{
    int i;
    if (n <= NUM)
        return n;
    for (i = 1; i <= NUM; i++)
        if (r(n - i) < 0)
            return i;
    return -1;
}
int main()
{
    int n;
    cin>>n;
    cout<<r(n)<<endl;
    return 0;
}
root 站长
#include <iostream>
using namespace std;
const int NUM = 5;
int r(int n)
{
    int i;
    if (n <= NUM)
        return n;
    for (i = 1; i <= NUM; i++)
        if (r(n - i) < 0)
            return i;
    return -1;
}
int main()
{
    int n;
    cin>>n;
    cout<<r(n)<<endl;
    return 0;
}
root 站长
#include <iostream>
using namespace std;
int rSum(int j)
{
    int sum = 0;
    while (j != 0) {
        sum = sum * 10 + (j % 10);
        j = j / 10;
    }
    return sum;
}
int main()
{
    int n, m, i;
    cin>>n>>m;
    for (i = n; i < m; i++)
        if (i == rSum(i))
            cout<<i<<' ';
    return 0;
}
root 站长
6.单选题(1.5分)
设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是(    )。
A. x = (x * 100) + 0.5 / 100.0;
B. x = (x * 100 + 0.5) / 100.0;
C. x = (int)(x * 100 + 0.5)/100.0;
D. x = (x / 100 + 0.5) * 100.0;
root 站长
5.填空题(8分)
阅读程序写结果:

#include <iostream>
using namespace std;
int main()
{
	int a, b;
	cin >> a >> b;
	cout << a << "+" << b << "=" << a + b << endl;
    return 0;
}
root 站长
4.单选题(1.5分)
下列程序中,正确计算1, 2, ... , 100 这 100 个自然数之和sum(初始值为0)的是(    )。
A. i = 1; do{ sum +=i; i++; }while(i<=100);
B. i = 1; do{ sum +=i; i++; }while(i > 100);
C. i = 1; while(i < 100){ sum+=i; i++; }
D. i = 1; while(i >= 100){ sum+=i; i++; }
root 站长
#include<iostream>
using namespace std;

int main()
{
    int i,n,m,ans;
    cin>>n>>m;
    i=n;
    ans=0;
    while(i<=m){
       ans+=i;
       i++;
    }
    cout<<ans<<endl;
    return 0;
}