考研C语言进阶题库——更新41-50题

目录

41.编写程序要求输出整数a和b若a和b的平方和大于100,则输出a和b的平方和,否则输出a和b的和

[42.现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:第一项是1/1,第二项是是1/2,第三项是2/1,第四项是3/1,第五项是2/2,......。输入n,输出第n项。](#42.现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:第一项是1/1,第二项是是1/2,第三项是2/1,第四项是3/1,第五项是2/2,……。输入n,输出第n项。)

43佳佳带着f个水果和m元出去玩,每天房屋的租金为x元,佳佳每天早上必须吃一个水果,佳佳通过询问商店的服务人员得到了水果的价格,每个水果售价批元,请你计算下加价,最多可以在外面待多长时间?

[44.我们都喜欢a+b问题,现在我们遇到了一个他的变形问题,给定a+b+c+d=e的形式,并规定abcde都是正整数,现在已经知道了e的大小,请问有多少种不同的a+b+c+d,足a+b+c+d=e abcd与a撇b撇c撇d撇被认为不同,当且仅当a不等于a撇,或b不等于b撇.或c不等于c撇.或d不等于d撇](#44.我们都喜欢a+b问题,现在我们遇到了一个他的变形问题,给定a+b+c+d=e的形式,并规定abcde都是正整数,现在已经知道了e的大小,请问有多少种不同的a+b+c+d,足a+b+c+d=e abcd与a撇b撇c撇d撇被认为不同,当且仅当a不等于a撇,或b不等于b撇.或c不等于c撇.或d不等于d撇)

45.第一行输入员工个数,依次输入n个员工的工资,输出n个员工的平均工资(取整数)

46.为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y与当月用水量x相关,当x不超过15时,每吨收费两元,超过15后对于超出的部分按每吨三元收取。请编写程序实现水费的收入,用水量与输出收费均以整数计

47.依次给出两个正整数m和n,当m小于n时,在同一行从小到大依次输出大于m且不大于n的所有整数,当m不小于n时输出Error

48.一只鸡兔的脚共有80只鸡和兔的总数量是一个20到40的整数X2写一程序计算机兔各有多少只?

49.小明需要从一层爬到第n层n为正整数,小明从一层爬到二层,用时30秒。由于体力下降,之后每爬一层用时都比上一层多了5%。求小明从第一层爬到第n层所需要的时间,保留一位小数?

50.输入一个多位数,将多位数看作一串字符输出,其中奇数数字的个数如输入12345数字中有三个奇数,分别为135并输出3


41.编写程序要求输出整数a和b若a和b的平方和大于100,则输出a和b的平方和,否则输出a和b的和

cpp 复制代码
#include <stdio.h>

int main(){
    //初始化
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d",(a*a+b*b)>100?a*a+b*b:a+b);
    return 0;
}

42.现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:第一项是1/1,第二项是是1/2,第三项是2/1,第四项是3/1,第五项是2/2,......。输入n,输出第n项。

cpp 复制代码
#include<stdio.h>

int main()
{
    int i,j,n;
    while(scanf("%d",&n)!=EOF){
        i=1;
        while((1+i)*i/2<n){//前n项和公式
            i++;
        }
        j=n-i*(i-1)/2;//求第i行的第几个元素
        if(i%2==0){
            //偶数列从上往下走,奇数列相反
            printf("%d/%d\n",j,(i+1)-j);//(i+1)为分子分母之和
        } else{
            printf("%d/%d\n",(i+1)-j,j);
        }
    }

    return 0;
}

43佳佳带着f个水果和m元出去玩,每天房屋的租金为x元,佳佳每天早上必须吃一个水果,佳佳通过询问商店的服务人员得到了水果的价格,每个水果售价批元,请你计算下加价,最多可以在外面待多长时间?

cpp 复制代码
#include <stdio.h>

int main(){
    //初始化
    int f,m,x,p,day;
    scanf("%d%d%d%d",&f,&m,&x,&p);
    //早上吃苹果加上晚上交房租都通过了才算一天,否则不算一天
    for (day = 0; m>x; day++) {
        if(f>0){
            f--;
            m=m-x;
        } else{
            m=m-x-p;
        }
        if(m<0){
            break;
        } else if(m==0){
            day++;
            break;
        }
    }
    printf("%d",day);
    return 0;
}

44.我们都喜欢a+b问题,现在我们遇到了一个他的变形问题,给定a+b+c+d=e的形式,并规定abcde都是正整数,现在已经知道了e的大小,请问有多少种不同的a+b+c+d,足a+b+c+d=e abcd与a撇b撇c撇d撇被认为不同,当且仅当a不等于a撇,或b不等于b撇.或c不等于c撇.或d不等于d撇

cpp 复制代码
#include <stdio.h>
void sum(){
    int e,sum;
    scanf("%d",&e);
    for (int a = 1; a < e; a++) {
        if(a>=e-2){break;}
        for (int b = 1; b < e; b++) {
            if(b>=e-a){break;}
            for (int c = 1; c < e; c++) {
                if(c>=e-a-b){break;}
                for (int d = 1; d < e; d++) {
                    if(d>e-a-b-c){break;}
                    if(a+b+c+d==e){sum++;}
                }
            }
        }
    }
    printf("%d",sum);
}
int main(){
    //初始化
    int n;//想求几个数
    scanf("%d",&n);

    for (int i = 0; i < n; i++) {
        sum();
    }
    return 0;
}

45.第一行输入员工个数,依次输入n个员工的工资,输出n个员工的平均工资(取整数)

cpp 复制代码
#include <stdio.h>

int main(){
    //初始化
    int n,sum;
    scanf("%d",&n);
    for (int i = 0; i < n; i++) {
        int salary=0;
        scanf("%d",&salary);
        sum=sum+salary;
    }
    printf("%d",sum/n);
    return 0;
}

46.为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y与当月用水量x相关,当x不超过15时,每吨收费两元,超过15后对于超出的部分按每吨三元收取。请编写程序实现水费的收入,用水量与输出收费均以整数计

cpp 复制代码
#include <stdio.h>

int main(){
    //初始化
    int n,sum;
    scanf("%d",&n);
    if(n<=15){
        printf("%d",2*n);
    } else{
        printf("%d",2*15+(n-15)*3);

    }
    return 0;
}

47.依次给出两个正整数m和n,当m小于n时,在同一行从小到大依次输出大于m且不大于n的所有整数,当m不小于n时输出Error

cpp 复制代码
#include <stdio.h>

int main(){
    //初始化
    int m,n;
    scanf("%d%d",&m,&n);
    if(m<n){
        for (int i = m+1; i <= n; i++) {
            printf("%d",i);
        }
    } else{
        printf("Error ");
    }
    return 0;
}

48.一只鸡兔的脚共有80只鸡和兔的总数量是一个20到40的整数X2写一程序计算机兔各有多少只?

cpp 复制代码
#include <stdio.h>

int main(){
    //初始化
    int chicken,rabbit,head;
    scanf("%d",&head);
    if(head>=20 && head<=40){
        for (int i = 0; i <= head; i++) {
            if(i*2+(head-i)*4==80){
                printf("鸡:&d,兔:&d");
            }
        }
    } else{
        printf("输入错误!");
    }
    return 0;
}

49.小明需要从一层爬到第n层n为正整数,小明从一层爬到二层,用时30秒。由于体力下降,之后每爬一层用时都比上一层多了5%。求小明从第一层爬到第n层所需要的时间,保留一位小数?

cpp 复制代码
#include <stdio.h>

int main(){
    //初始化
    int  floor;
    scanf("%d",&floor);
    double time,temp=30;
    for (int i = 1; i < floor; i++) {
        time=time+temp;
        temp=temp*1.05;

    }
    printf("%.1lf",time);
    return 0;
}

50.输入一个多位数,将多位数看作一串字符输出,其中奇数数字的个数如输入12345数字中有三个奇数,分别为135并输出3

cpp 复制代码
#include <stdio.h>

int main(){
    //初始化
    int num,count=0;
    scanf("%d",&num);
    while(num){
        if(num%10%2!=0){
            count++;
        }
        num=num/10;
    }
    printf("%d",count);
    return 0;
}
相关推荐
Kalika0-01 小时前
猴子吃桃-C语言
c语言·开发语言·数据结构·算法
代码雕刻家1 小时前
课设实验-数据结构-单链表-文教文化用品品牌
c语言·开发语言·数据结构
龙图:会赢的1 小时前
[C语言]--编译和链接
c语言·开发语言
sp_fyf_20241 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-02
人工智能·神经网络·算法·计算机视觉·语言模型·自然语言处理·数据挖掘
Cons.W3 小时前
Codeforces Round 975 (Div. 1) C. Tree Pruning
c语言·开发语言·剪枝
我是哈哈hh3 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
Tisfy3 小时前
LeetCode 2187.完成旅途的最少时间:二分查找
算法·leetcode·二分查找·题解·二分
挥剑决浮云 -3 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
Mephisto.java3 小时前
【力扣 | SQL题 | 每日四题】力扣2082, 2084, 2072, 2112, 180
sql·算法·leetcode