头图

D 解方程

编写程序:输入a、b后,输出一元一次方程2ax+3*b-5=0的解。
输入
整数a b
输出
x 保留1位小数
样例输入 Copy
1 2
样例输出 Copy
-0.5

//#include<iostream>
//using namespace std;
//
//int main(){
//    int a,b = 0; 
//    while(cin >> a >> b){
//        double x = (5 - 3 * b) / (double)(2 * a);
//        printf("%.1f",x) ;    
//    }
//    return 0;
//}

E 大小写转换

从键盘输入一个大写字母,改用小写字母输出。
输入
一个大写英文字符
输出
对应的小写英文字符。
样例输入 Copy
A
样例输出 Copy
a

//#include<iostream>
//using namespace std;
//
//int main(){
//    char ch;
//    scanf("%c",&ch);
//    printf("%c",ch + 32);
//    return 0;
//}

F 平均分

从键盘输入三个学生的数学考试成绩,计算它们的平均分,保留两位小数。
输入
三个整数,数学成绩。
输出
平均分,保留2位小数。
样例输入 Copy
80 90 70
样例输出 Copy
80.00

//#include<iostream>
//using namespace std;
//
//int main(){
//    int a,b,c = 0; 
//    while(cin >> a >> b >> c){
//        double x = (a + b + c) / 3.00;
//        printf("%.2f",x) ;    
//    }
//    return 0;
//}

H 交换变量

编写程序,从键盘输入两个浮点数给变量xy输出xy
在交换x和y中的值后,再输出x和y,验证两个变量中的值是否正确的进行了交换。
输入数据可能有整数,请用%g输出。
输入
两个浮点数
输出
第一行两个浮点数原来的顺序
第二行两个浮点数交换后的顺序
样例输入 Copy
1.1 2.1
样例输出 Copy
1.1 2.1
2.1 1.1

//#include<iostream>
//using namespace std;
//
//int main(){
//    double a,b = 0;
//    scanf("%lf %lf",&a,&b);
//    printf("%g %g\n",a,b);
//    double t = a;
//    a = b;
//    b = t;
//    printf("%g %g",a,b);
//    return 0;
//}

I 解二次方程
编写程序求方程ax2+bx+c=0的根,a、b、c的值由键盘输入,假设b2-4ac>0
输入
a b c
输出
两个根,大数在前,小数在后
样例输入 Copy
1 -3 2
样例输出 Copy
2 1

//#include<iostream>
//#include<cmath>
//using namespace std;
//
//
//int main(){
//    double a,b,c,x1,x2 = 0;
//    while(cin >> a >> b >> c){
//        x1 = (-b + sqrt(b * b - 4 * a * c)) /(double) (2 * a);
//        x2 = (-b - sqrt(b * b - 4 * a * c)) /(double) (2 * a);
//        if(x1 < x2){
//            cout << x2 <<" "<< x1 <<endl;
//        }else{
//            cout << x1 <<" "<< x2 <<endl;
//        }
//    }
//    return 0;
//}

J 利滚利

根据当前银行的利率表,从键盘输入存款金额money,存期year和年利率rate,计算银行存款的本息
计算公式为: sum=money(1+rate)year,sum为本息合计,输出保留一位小数。
书上印刷有误,year应为指数。
输入
存款金额money,存期year和年利率rate
输出
本息合计
样例输入 Copy
10000 5 0.1
样例输出 Copy
16105.1

//#include<iostream>
//#include<cmath>
//using namespace std;
//
//int main(){
//    double m,r,sum = 0;
//    int y = 0;
//    scanf("%lf %d %lf",&m,&y,&r);
//    sum = m * pow((1 + r),y);
//    printf("%.1f",sum);
//    return 0;
//}

L 字母排序

输入三个字母,按字母表顺序输出这三个字母。
输入
三个字母
输出
按字母表顺序输出
样例输入 Copy
cba
样例输出 Copy
abc

//#include<iostream>
//using namespace std;
//
//int main(){
//    char ch[3];
//    for(int i = 0; i < 3; i++){
//        scanf("%c",&ch[i]);
//    }
//    char temp;
//    if(ch[0] > ch[1]){
//        temp = ch[0];
//        ch[0] = ch[1];
//        ch[1] = temp;
//    }
//    if(ch[1] > ch[2]){
//        temp = ch[1];
//        ch[1] = ch[2];
//        ch[2] = temp;    
//    }
//    if(ch[0] > ch[1]){
//        temp = ch[0];
//        ch[0] = ch[1];
//        ch[1] = temp;    
//    }
//    printf("%c%c%c",ch[0],ch[1],ch[2]); 
//    return 0;
//}

O 分数等级

给出一百分制成绩,要求输出成绩等级‘A’、‘B’、 ‘C’、‘D’、‘E’。
90分以上为A
80-89分为B
70-79分为C
60-69 分为D
60分以下为E
输入
一个整数0-100以内
输出
一个字符,表示成绩等级
样例输入 Copy
90
样例输出 Copy
A

//#include<iostream>
//using namespace std;
//
//int main(){
//    int score;
//    scanf("%d",&score);
//    if(score < 0 || score > 100){
//        return 0;
//    }else{
//        switch(score / 10){
//            case 10:
//            case 9:    
//                cout << "A" <<endl;break;
//            case 8:
//                cout << "B" <<endl;break;
//            case 7:
//                cout << "C" <<endl;break;
//            case 6:
//                cout << "D" <<endl;break;
//            default:
//                cout << "E" << endl;break;
//        }
//    }
//    return 0;
//}

P 统计整数

从键盘输入任意20个整数,统计其中的负数个数,并求所有整数的平均值。
输入
20个整数
输出
负数个数和整数平均值(保留1位小数)
样例输入 Copy
1 2 3 4 5 6 7 8 9 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 0

//#include<iostream>
//using namespace std;
//
//int main(){
//    int s[20] = {0};
//    int sum,count = 0;
//    double average;
//    for(int i =0; i < 20; i++){
//        scanf("%d",&s[i]);
//        if(s[i]  < 0){
//            count++;
//        }
//        sum += s[i];
//    }
//    average = sum / 20.0;
//    printf("%d %.1f",count,average);
//    return 0;
//}

S 素数表

从键盘输入m,n
在屏幕上按每行10个的格式输出m~n之间的全部素数
输入
两个整数m n
输出
m~n间的素数,每行10个,每个数后用空格隔开。如果m和n为素数则包含。
样例输入 Copy
100 200
样例输出 Copy
101 103 107 109 113 127 131 137 139 149
151 157 163 167 173 179 181 191 193 197
199

//#include<iostream>
//using namespace std;
//int IsSs(int n);
//
//int main(){
//    int m,n,count = 0;
//    scanf("%d %d",&m,&n);
//    for(int i = m; i <= n; i++){
//        if(IsSs(i)){
//            count ++;
//            if(count == 10){
//                count = 0;
//                cout << i << endl;
//            }else{
//                cout << i << " ";
//            }
//        }
//    }
//    return 0;
//}
//
//int IsSs(int n){
//    for(int i = 2; i < n; i++){
//        if(n % i == 0){
//            return 0;
//            break;
//        }
//    }
//    return 1;
//}

T 模拟登录

编写程序模拟简单的密码登录,首先从键盘输入名字和密码,若密码正确则给出问候语。
若密码不正确,则给出错误提示,并允许再次输入,直到输入正确的密码或0结束。
用户名随意,不超过10个字节。
密码123456
输入
用户名,和若干次密码。
输出
若密码正确则输出:
Hello 用户名换行
并退出
若错误则输出:
Wrong Password!换行
并再次输入判断
若密码为0则在输出正确与否的结果后退出。
样例输入 Copy
tom
123
123456
样例输出 Copy
Wrong Password!
Hello tom

//#include<iostream>
//#include<string.h>
//using namespace std;
//
//int main(){
//    int password;
//    char s[10] = "tom";//定义一个已知用户名(字符串) 
//    char name[10];
//    scanf("%s",&name);//键盘输入一个用户名 
//    if(strcmp(name,s) == 0){//虽然题目未做要求,此处想再比较一下用户名是否匹配后,再进行密码比对
//        while(cin >> password){
//            if(password == 123456){
//                cout << "Hello "<< name << endl;
//                break;
//            }else if(password == 0){
//                cout << "Wrong Password!" << endl;
//                break;
//            }else{
//                cout << "Wrong Password!" << endl;
//                continue;
//            }
//        }
//    }
//    return 0;
//}

U 温度转换

编写程序输出一张摄氏-华氏温度转换表,摄氏温度的取值区间是从键盘输入,温度间隔10 ℃ 。要求定义和调用函数ctof(c),将温度转换为华氏温度F,计算公式:F=32+c*9/5。
注意:此题用C语言完成时,只提交头文件和ctof(int c)函数,系统将自动附加下面的main函数后运行,请复制下面的main函数用于调试ctof函数。
其他语言的答案无此要求。
int main(){

  int i,start,end;
 scanf("%d%d",&start,&end);
  for(int i=start;i<=end;i+=10){
         printf("%dC=%dF\n",i,ctof(i));
  }
  return 0;

}
输入
转换表的起止温度。
输出
转换表
样例输入 Copy
10 20
样例输出 Copy
10C=50F
20C=68F

//#include<iostream>
//#include<cmath>
//using namespace std;
//int ctof(int c);
//
//int main(){
//    int i,start,end;
//    scanf("%d %d",&start,&end);
//    for(int i=start;i<=end;i+=10){
//        printf("%dC=%dF\n",i,ctof(i));
//    }
//    return 0;
//}
//
//int ctof(int c){
//    int f = 32 + c * 9 / 5;
//    return f; 
//}

V 排列数

编写程序计算排列数
Pmn =M! / (m-n)!
要求定义函数fact(n)计算n的阶乘。
注意:此题用C语言完成时,只提交头文件和fact(int n)函数,系统将自动附加下面的main函数后运行,请复制下面的main函数用于调试fact函数。

其他语言的答案无此要求。

int main(){

int i,n,m;

scanf("%d%d",&m,&n);

printf("%d\n",fact(m)/fact(m-n));

return 0;

}
输入
两个数m、n
输出
Pmn
样例输入 Copy
3 2
样例输出 Copy
6

//#include<iostream>
//using namespace std;
//int fact(int n);
//
//int main(){
//    int n,m = 0;
//    scanf("%d %d",&m,&n);
//    printf("%d\n",fact(m)/fact(m-n));
//    
//    return 0;
//}
//
//int fact(int n){
//    int j = 1;
//    for(int i = 1; i <= n; i++){
//        j *= i;
//    }
//    return j;
//}

W 倒数数列

编写程序计算并输出
s=∑k=1n1/k=1+1/2+1/3+............+1/n 的值。
要求定义并调用函数total(n)计算1+1/2+1/3+......+1/n
注意:此题的main函数如下所示:

int main(){

int n;

scanf("%d",&n);

printf("%.3lf\n",total(n));

return 0;

}
输入
正整数n,表示前n项求和
输出
s,表示前n项的和
样例输入 Copy
2
样例输出 Copy
1.500

//#include<iostream>
//using namespace std;
//double total(int n);
//
//int main(){
//    int n;
//    scanf("%d",&n);
//    printf("%.3lf\n",total(n));
//    return 0;
//}
//double total(int n){
//    double sum = 0;
//    for(int i = 1; i <= n; i++){
//        sum += 1.000 / i;
//    }
//    return sum;
//}

X 斐波那契部分和

编写升序输出m和n之间所有的Fibonacci数。要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。
例如,fib(7)返回13
*Fibonacci={1,1,2,3,5,8,13,................}
an=an-1+an-2
输入

两个数m和n
输出
所有属于闭区间[m,n]即大于等于m,小于等于n的斐波那契数的和。
样例输入 Copy
2 5
样例输出 Copy
10

//#include<iostream>
//using namespace std;
//int fib(int n);
//
//int main(){
//    int m,n,sum,i = 0;
//    scanf("%d %d",&m,&n);
//    while(fib(i) <= n){
//        if(fib(i) <= n && fib(i) >= m){
//            sum += fib(i);
//        }
//        i++;
//    }
//    cout << sum << endl;
//    return 0;
//}
//
//int fib(int n){
//    if(n < 1){
//        return 0;
//    }
//    else if(n ==1 || n == 2){
//        return 1;
//    }else{
//        return fib(n - 1) + fib(n - 2);
//    }
//}

Y 平均成绩

从键盘输入10个学生成绩,求平均分数及高于平均分数的成绩。
输入
10个整数
输出
第一行,平均分,保留1位小数。
第二行,高于平均分的成绩,每个成绩后加空格。
样例输入 Copy
60 60 60 70 70 70 80 80 80 70
样例输出 Copy
70.0
80 80 80

//#include<iostream>
//using namespace std;
//
//int main(){
//    int s[10];
//    int sum = 0;
//    double aver;
//    for(int i = 0; i < 10; i++){
//        scanf("%d",&s[i]);
//        sum += s[i];
//    }
//    aver = sum / 10.0;
//    printf("%.1f\n",aver);
//    for(int i = 0; i < 10; i++){
//        if(s[i] > aver){
//            cout << s[i] << " ";
//        }
//    }
//    return 0;
//}

Z 科总分

输入10个学生的学号和5门课程的成绩,统计输出5门课总分最高和最低的学生的学号和他们的总分。
输入
每行6个整数,共10行。
其中,每行第一个整数表示学生的学号,剩下的5个数表示他5门课程的成绩。
输出
两行,每行两个整数。
其中第一行为总分最高的学生的学号,和他的总分,用空格隔开。
第二行为总分最低的学生的学号,和他的总分,用空格隔开。
样例输入 Copy
99211201 1 2 3 4 5
99211207 2 2 3 4 5
99211217 3 2 3 4 5
99211227 4 2 3 4 5
99211231 5 2 3 4 5
99211232 6 2 3 4 5
99211233 7 2 3 4 5
99211235 8 2 3 4 5
99211236 9 2 3 4 5
99211237 10 2 3 4 5

样例输出 Copy
99211237 24
99211201 15

//#include<iostream>
//using namespace std;
//
//int main(){
//    int a[10][6] = {0};
//    int sum[10] = {0};
//    for(int i = 0; i < 10; i++){
//        for(int j = 0; j < 6; j++){
//            scanf("%d",&a[i][j]);
//            if(j > 0){
//                sum[i] += a[i][j];
//            }
//        }
//    }
//    int max = sum[0];
//    int x = 0;
//    for(int i = 0; i < 10; i++){
//        if(sum[i] > max){
//            max = sum[i];
//            x = i;
//        }
//    }
//    int min = sum[0];
//    int y = 0;
//    for(int i = 0; i < 10; i++){
//        if(sum[i] < min){
//            min = sum[i];
//            y = i;
//        }
//    }
//    cout << a[x][0] <<" "<< max <<endl;
//    cout << a[y][0] <<" "<< min <<endl;
//    return 0;
//}

沐小轲
9 声望0 粉丝

C++初学者