用户:
热爱中国的人查看:14 回复:6 评论:14 创建时间:2023-03-31T22:10:17
我们可以互相讨论
例题
给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。输入包含一行,一个字符串,长度不超过1000。
输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。
abbccc
c 3
#include<bits/stdc++.h>
using namespace std;
int main()
{
int nums[26]={};
int max=0;
char ans;
char ch;
while(cin>>ch)
{
nums[ch-'a']++;
if(max < nums[ch-'a'])
{
max=nums[ch-'a'];
ans=ch;
}else if(max==nums[ch-'a'])
{
if(ans>ch)
{
ans=ch;
}
}
}
cout<<ans<<" "<<max<<endl;
}
这道题困扰了我好长时间:
题目描述 求一元二次方程ax 2+bx+c=0的根,其中a不等于0。结果要求精确到小数点后5位。 输入 输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程的系数。 输出 输出一行,表示方程的解。若两个实根相等,则输出形式为:“x1=x2=...“;若两个实根不等,在满足根小者在前的原则,则输出形式为:“x1=...;x2=...“;若无实根输出“No answer!”。-15.97 19.69 12.02 样例输出
x1=-0.44781;x2=1.68075
#include<iostream>
#include<string>
#include<cmath>
#include<cstdio>
using namespace std;
int main()
{
double a,b,c,d,x1,x2;
cin>>a>>b>>c;
if(b*b-4*a*c>=-1e-6&&b*b-4*a*c<=1e-6){
d=sqrt(b*b-4*a*c);
x1=(0-b+d)/(2*a);
x2=(0-b-d)/(2*a);
cout<<"x1=x2=";
printf("%.5f",x1);
}
else if(b*b-4*a*c>0){
d=sqrt(b*b-4*a*c);
x1=(0-b+d)/(2*a);
x2=(0-b-d)/(2*a);
if(x1<x2){
cout<<"x1=";
printf("%.5f",x1);
cout<<";"<<"x2=";
printf("%.5f",x2);
}
else{
cout<<"x1=";
printf("%.5f",x2);
cout<<";"<<"x2=";
printf("%.5f",x1);
}
}
else{
cout<<"No answer!";
}
return 0;
}
点赞0
评论
热爱中国的人#include<bits/stdc++.h>
#define eps1 1e-10
#define eps2 1e-6
using namespace std;
int main(){
double a,b,c,x1,x2,g;
cin>>a>>b>>c;
g=b*b-4*a*c;
if(g<0&&fabs(g)>eps1)printf("No answer!");
else if(fabs(g)<eps1){
x1=-b/(2*a);
if(fabs(x1)<eps2)
printf("x1=x2=%.5lf",0);
else
printf("x1=x2=%.5lf",x1);
}
else{
x1=(-b+sqrt(g))/(2*a);
x2=(-b-sqrt(g))/(2*a);
if(fabs(x1)<eps2)x1=fabs(x1);
if(fabs(x2)<eps2)x2=fabs(x2);
if(x1<x2)printf("x1=%.5lf;x2=%.5lf",x1,x2);
else printf("x1=%.5lf;x2=%.5lf",x2,x1);
}
return 0;
}
//这是我的方法(#^.^#)
点赞0
评论