NEUQ-Cpp-03-编程题

7-1 简单的猜数字游戏[1] (4分)

简单的猜数字游戏是预先设置一个100以内的正整数作为被猜数,用户输入一个数对其进行猜测,需要你编写程序自动对其与被猜数进行比较,并输出猜测的结果。在本题中,被猜数设置为38。
输入格式:
输入在一行中给出一个整数。
输出格式:
在一行中输出猜测的结果,分别为“Good Guess!”、“Too big!”、“Too small!”。
输入样例1:
48
输出样例1:
Too big!
输入样例2:
38
输出样例2:
Good Guess!
输入样例3:
10
输出样例3:
Too small!

include<iostream>

using namespace std;
int main()
{
int a;
cin>>a;
if (a>38) cout<<"Too big!"<<endl;
else if (a<38) cout<<"Too small!"<<endl;
else if (a=38) cout<<"Good Guess!"<<endl;
return 0;
}
7-2 奇偶分家 (5分)

给定N个正整数,请统计奇数和偶数各有多少个?
输入格式:
输入第一行给出一个正整N(≤1000);第2行给出N个非负整数,以空格分隔。
输出格式:
在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。
输入样例:
9
88 74 101 26 15 0 34 22 77
输出样例:
3 6

include<iostream>

using namespace std;
int main()
{
int n,ji=0,ou=0,i;
int number;
cin>>n;
for(i=0;i<n;i++)
{
cin>>number;
if (number%2==0)
ou++;
else ji++;
}
cout<<ji<<" "<<ou<<endl;
return 0;
}
7-3 统计指定数量学生的平均成绩与不及格人数 (5分)

本题要求编写程序,计算学生们的平均成绩,并统计不及格(成绩低于60分)的人数。题目保证输入与输出均在双精度范围内。
输入格式:
输入在第一行中给出非负整数n,即学生人数。第二行给出n个非负实数,即这n位学生的成绩,其间以空格分隔。
输出格式:
average = 成绩均值
count = 不及格人数
其中平均值精确到小数点后两位,等号的左右各有一个空格。
输入样例1:
4
60 54 95 73
输出样例1:
average = 70.50
count = 1
输入样例2:
0
输出样例2:
average = 0.00
count = 0

include<iostream>

include<iomanip>

using namespace std;
int main()
{
int n,i;
double average=0,sum=0;
int count=0;
cin>>n;
if (n>0)
{
int score[n];
for(i=0;i<n;i++)
{ cin>>score[i];
if (score[i]<60)
count++;
sum=sum+score[i];
}
average=sum*1.00/n;
cout<<"average = "<<fixed<<setprecision(2)<<average<<endl;
cout<<"count = "<<count<<endl;
}
else
{
cout<<"average = 0.00"<<endl;
cout<<"count = 0"<<endl;
}
return 0;
}
7-4 分段计算居民水费[2] (5分)

为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)的关系如下,请编写程序实现水费的计算
图片上传不了。。。。。。
输入格式:
输入在一行中给出实数x。
输出格式:
按照以下的格式在一行输出月用水量和应交的水费,都精确到小数点后2位,请注意等号的左右各有一个空格。
f(输入的月用水量) = 计算出的应交水费
输入样例1:
-0.5
输出样例1:
f(-0.50) = 0.00
输入样例2:
0
输出样例2:
f(0.00) = 0.00
输入样例3:
9.5
输出样例3:
f(9.50) = 12.67
输入样例4:
15
输出样例4:
f(15.00) = 20.00
输入样例5:
21.3
输出样例5:
f(21.30) = 42.75

include<iostream>

include<iomanip>

using namespace std;
int main()
{
float x,y;
cin>>x;
if (x<0)
y==0;
else if (x>=0&&x<=15)
y=4x/3;
else
y=2.5
x-10.5;

cout<<"f("<<fixed<<setprecision(2)<<x<<")"<<" = "<<y<<endl;

return 0;

}
7-5 求解简单的四则运算表达式 (6分)

输入一个四则运算表达式,输出运算结果,要求对除数为0的情况作特别处理。题目保证输入与输出均在双精度范围内。
输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间没有空格,操作数的数据类型为实型。
输出格式:
在一行中输出表达式的运算结果,保留两位小数。
如果除法分母为0,则输出错误信息“Divisor can not be 0!”;如果输入了除加减乘除以外的非法运算符,则输出错误信息“Unknown operator!”。
输入样例1:
3.1+4.8
输出样例1:
7.90
输入样例2:
98/0
输出样例2:
Divisor can not be 0!
输入样例1:
123%3
输出样例1:
Unknown operator!

include<iostream>

include<iomanip>

using namespace std;
int main()
{
double a,b;
char c;
scanf("%lf%c%lf",&a,&c,&b);
switch(c)
{
case'+':cout<<fixed<<setprecision(2)<<a+b;break;
case'-':cout<<fixed<<setprecision(2)<<a-b;break;
case'': cout<<fixed<<setprecision(2)<<ab;break;
case'/':
if (b!=0)
{
cout<<fixed<<setprecision(2)<<a/b;
}
else
{
cout<<"Divisor can not be 0!";
}
break;
default :cout<<"Unknown operator!";break;
}
return 0;
}
7-6 统计英文字母和数字字符 (4分)

本题要求编写程序,输入10个字符,统计其中英文字母、数字字符和其他字符的个数。
输入格式:
输入为10个字符。最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照
letter = 英文字母个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。请注意,等号的左右各有一个空格,逗号后有一个空格。
输入样例1:
Reold 123?
输出样例1:
letter = 5, digit = 3, other = 2
输入样例2:
aZ &
09 Az
输出样例2:
letter = 4, digit = 2, other = 4

include<iostream>

include<iomanip>

using namespace std;
int main()
{
int i,l=0,d=0,o=0;
char c;
for(i=1;i<=10;i++)
{ scanf("%c",&c);
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
l++;
else if(c>='0'&&c<='9')
d++;
else o++;
}
cout<<"letter = "<<l<<", digit = "<<d<<", other = "<<o<<endl;

return 0;

}
7-7 查询自动售货机中商品的价格 (5分)

给定四种商品,分别是薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),单价分别对应为3.0元/公斤、2.5元/公斤、4.0元/公斤、3.5元/份。
首先在屏幕上显示以下菜单:
[1] crisps
[2] popcorn
[3] chocolate
[4] cola
[0] exit
用户可以输入编号1~4查询对应食品的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。
输入格式:
输入在一行中给出用户连续输入的若干个编号。
输出格式:
首先在屏幕上显示菜单。然后对应用户的每个输入,在一行中按格式“price = 价格”输出查询结果,其中价格保留一位小数。当用户连续查询次数超过5次、或主动输入0时,程序结束,显示“Thanks”。
输入样例1:
1 7 0 2
输出样例1:
[1] crisps
[2] popcorn
[3] chocolate
[4] cola
[0] exit
price = 3.0
price = 0.0
Thanks
输入样例2:
1 2 3 3 4 4 5 6 7 8
输出样例2:
[1] crisps
[2] popcorn
[3] chocolate
[4] cola
[0] exit
price = 3.0
price = 2.5
price = 4.0
price = 4.0
price = 3.5
Thanks

include<iostream>

include<iomanip>

include<string>

using namespace std;
int main()
{
int c;
cout<<"[1] crisps"<<endl;
cout<<"[2] popcorn"<<endl;
cout<<"[3] chocolate"<<endl;
cout<<"[4] cola"<<endl;
cout<<"[0] exit"<<endl;
for (int i=1;i<=5;i++)
{
cin>>c;
switch(c)
{
case 1 : cout<<"price = 3.0\n";break;
case 2 : cout<<"price = 2.5\n";break;
case 3 : cout<<"price = 4.0\n";break;
case 4 : cout<<"price = 3.5\n";break;
case 0 :cout<<"Thanks";exit(0);//正常退出
default :printf("price = 0.0\n");break;
}
}
cout<<"Thanks";
return 0;
}
7-8 两个数的简单计算器 (6分)

本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。
输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。
输出格式:
当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。
输入样例1:
-7 / 2
输出样例1:
-3
输入样例2:
3 & 6
输出样例2:
ERROR

include<iostream>

include<iomanip>

using namespace std;
int main()
{
int a,b,d;
char c;
scanf("%d %c %d",&a,&c,&b);
switch(c)
{
case'+':cout<<a+b;break;
case'-':cout<<a-b;break;
case'': cout<<ab;break;
case'/':if(b==0) break;
if(b!=0) cout<<a/b;break;
case'%':if(b==0) break;
if(b!=0) cout<<a%b;break;
default :cout<<"ERROR";break;
}
return 0;
}
7-9 简单计算器 (5分)

模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。
输入格式:
输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。
输出格式:
在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。
输入样例:
1+2*10-10/2=
输出样例:
10

include<iostream>

include<iomanip>

using namespace std;
int main()
{
int num,b;
char op;
cin>>num;
while(cin>>op)
{
if(op=='+')
{
cin>>b;
num+=b;
}
else if(op=='-')
{
cin>>b;
num-=b;
}
else if(op=='')
{
cin>>b;
num
=b;
}
else if (op=='/')
{
cin>>b;
if(b==0)
{
cout<<"ERROR"<<endl;break;
}
else if(b!=0)
{
num/=b;
}
}
else if(op=='=')
{
cout<<num<<endl;break;
}
else
{
cout<<"ERROR"<<endl;break;
}
}
return 0;
}
7-10 最大公约数和最小公倍数 (10分)

本题要求两个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在一行中给出两个正整数M和N(≤1000)。
输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。
输入样例:
511 292
输出样例:
73 2044

include<iostream>

using namespace std;
int main()
{
int a,b,x,y,z,aa,bb;
cin>>a>>b;

if (a>b)        
a=a;
else 
{
    z=a;a=b;b=z;
}
aa=a;bb=b;  //借用两个数保留a,b值
while (bb!=0)   //辗转相除法
{
    x=aa%bb;
    aa=bb;
    bb=x;
}

y=a*b/aa;   //最小公倍数等于两个相关数乘积除以最大公因数

cout<<aa<<" "<<y<<endl;
return 0;

}
7-11 兔子繁衍问题 (10分)

一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?
输入格式:
输入在一行中给出一个不超过10000的正整数N。
输出格式:
在一行中输出兔子总数达到N最少需要的月数。
输入样例:
30
输出样例:
9

include<iostream> //斐波那契数列

using namespace std;
int main()
{ long a=1,b=1,t=1;
long n;
cin>>n;
if(n==1)
{
t=1;
}
if(n>1)
{
do
{
a=a+b;
t=t+1;//月份递增
b=a+b;
t=t+1;
}while(a<n&&b<n);//兔子数不超过n时
}

cout<<t<<endl;
return 0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容

  • #include #include<conio.h> //控制台数据输入输出的函数 #include<fstrea...
    黑键_阅读 1,206评论 0 1
  • 7-1 求整数均值 (5分) 本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。输入格...
    往sir_b2a2阅读 3,370评论 0 0
  • #include #include<cstring> #include<cstdlib> #include<fst...
    屈大帅阅读 788评论 0 2
  • 7-1 计算摄氏温度 (5分)本题要求编写程序,计算华氏温度100°F对应的摄氏温度。计算公式:C=5×(F−32...
    往sir_b2a2阅读 1,406评论 0 0
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,340评论 0 2