openjudge是一个在线编程平台,非常适合初学者学习基础的编程语法,笔者将做过的C/C++语言题目答案汇总在下文,供各位参考。题目链接如下:http://cxsjsxmooc.openjudge.cn/2021t1summer2/
001:输出第二个整数
#include<stdio.h>
int main(void)
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("%d",b);
return 0;
}
002:字符菱形
#include<cstdio>
int main()
{
char a;
a=getchar();
printf(" %c\n",a);
printf(" %c%c%c\n",a,a,a);
printf("%c%c%c%c%c\n",a,a,a,a,a);
printf(" %c%c%c\n",a,a,a);
printf(" %c\n",a);
return 0;
}
003:打印ASCII码
#include<cstdio>
int main()
{
char a;
scanf("%c",&a);
printf("%d",a);
return 0;
}
004:打印字符
#include <iostream>
using namespace std;
int main(){
int n; //声明变量。
cin >> n; //输入字母。
cout << (char)n; //输出强转为char类型的变量(即该字母的ASCII码值)。
return 0;
}
005:整型数据类型存储空间大小
#include<stdio.h>
int main()
{
printf("%d %d\n",sizeof(int),sizeof(short));
return 0;
}
006:浮点型数据类型存储空间大小
#include<stdio.h>
int main()
{
float a;
double b;
printf("%d %d\n",sizeof(a),sizeof(b));
return 0;
}
007:对齐输出
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("%8d %8d %8d",a,b,c);
return 0;
}
008:输出保留12位小数的浮点数
#include<stdio.h>
int main()
{
double a;
scanf("%lf",&a);
printf("%.12f",a);
return 0;
}
009:空格分隔输出
#include<stdio.h>
int main()
{
char a;
int b;
float c;
double d;
scanf("%c\n",&a);
scanf("%d\n",&b);
scanf("%f\n",&c);
scanf("%lf",&d);
printf("%c %d %f %lf",a,b,c,d);
return 0;
}
010:计算球的体积
#include<stdio.h>
#include<stdlib.h>
int main()
{
double r;
double v;
scanf("%lf",&r);
v=(4.0)/(3.0)*3.14*r*r*r;
printf("%.2lf",v);
return 0;
}
011:大象喝水
#include<stdio.h>
int main()
{
int r,h,m;
double v,n;
scanf("%d %d",&h,&r);
v=(3.14159)*r*r*h;
m=int(20000/v)+1;
printf("%d",m);
return 0;
}
012:奇偶数判断
#include<stdio.h>
int main()
{
int r;
scanf("%d",&r);
if(r%2==1)
{
printf("odd");
}
else{printf("even");}
return 0;
}
013:求一元二次方程的根
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
double a, b, c, x1, x2, bb, fourac, twoa;
cin >> a >> b >> c;
bb = b*b;
fourac = 4*a*c;
twoa = -b/(a*2);
if (b == 0) twoa = 0;
if (bb == fourac) {
cout << fixed << setprecision(5) << "x1=x2=" << twoa << endl;
}
else if (bb > fourac) {
x1 = (-b + sqrt(b*b-4*a*c))/(2*a);
x2 = (-b - sqrt(b*b-4*a*c))/(2*a);
cout << fixed << setprecision(5) << "x1=" << x1 << ";x2="
<< fixed << setprecision(5)<< x2 << endl;
}
else {
cout << fixed << setprecision(5) << "x1=" << twoa << "+"
<< fixed << setprecision(5)<< sqrt(fourac-bb)/(a*2) << "i;x2="
<< fixed << setprecision(5) << twoa << "-"
<< fixed << setprecision(5) << sqrt(fourac-bb)/(a*2) << "i" << endl;
}
return 0;
}
014:点和正方形的关系
#include<stdio.h>
int main()
{
int x,y;
scanf("%d %d",&x,&y);
if(x>=-1&&x<=1&&y>=-1&&y<=1)
{
printf("yes");
}
else
{
printf("no");
}
return 0;
}
015:苹果和虫子2
#include <iostream>
using namespace std;
int main()
{
int n,x,y,t;
cin>>n>>x>>y;
if(y%x!=0)
{
t=n-(int)(y/x)-1;
}
else
{
t=n-(int)(y/x);
}
if(t>0)
cout<<t<<endl;
else
cout<<0<<endl;
return 0;
}
016:简单计算器
#include <iostream>
using namespace std;
int main()
{
int a,b;
char ch;
cin>>a>>b>>ch;
if((ch=='+')||(ch=='-')||(ch=='*')||(ch=='/'))
{
switch (ch)
{
case '+':
cout<<a+b<<endl;
break;
case '-':
cout<<a-b<<endl;
break;
case '*':
cout<<a*b<<endl;
break;
case '/':
{
if(b==0) cout<<"Divided by zero!"<<endl;
else cout<<a/b<<endl;
}
}
}
else cout<<"Invalid operator!"<<endl;
return 0;
}
017:求整数的和与均值
#include <stdio.h>
int main(int argc, char *argv[]) {
int n=0,a=0,sum=0;
scanf("%d",&n);
int count=n;
while(n!=0)
{
scanf("%d",&a);
sum+=a;
n--;
}
printf("%d %.5f",sum,(double)(sum)/count);
return 0;
}
018:整数序列的元素最大跨度值
#include <stdio.h>
#include <math.h>
int main() {
int m,n,max=0,min=100;
int i,j;
scanf("%d\n",&n);
for(i=1;i<=n;i++)
{
scanf("%d ",&m);
if(max<m) //找出最大值
max=m;
if(min>m) //找出最小值
min=m;
}
j=max-min;
printf("%d\n", j);
return 0;
}
019:奥运奖牌计数
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,n,a,b,c,d;
a=0;b=0;c=0;
scanf("%d",&n);
int x[n-1];
int y[n-1];
int z[n-1];
for(i=0;i<n;i++)
{
scanf("%d %d %d",&x[i],&y[i],&z[i]);
a=a+x[i];
b=b+y[i];
c=c+z[i];
}
d=a+b+c;
printf("%d %d %d %d",a,b,c,d);
return 0;
}
020:乘方计算
#include<stdio.h>
int main()
{
int a,n,i,sum=1;
scanf("%d %d",&a,&n);
for(i=0;i<n;i++)
sum=sum*a;
printf("%d",sum);
return 0;
}
021:鸡尾酒疗法
#include <cstdio>
int main()
{
int n,a,b;
float x,y;
scanf("%d",&n);
scanf(