为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。
输入格式:
输入在一行中给出非负实数x。
输出格式:
在一行输出应交的水费,精确到小数点后2位。
输入样例1:
12
输出样例1:
16.00
输入样例2:
16
输出样例2:
22.50
// 题目链接 https://pintia.cn/problem-sets/14/exam/problems/791
#include<bits/stdc++.h>
using namespace std;
int main(){
double x,f; // 必须是double
scanf("%lf",&x);
if(x<=15){
f = 4 * x / 3;
}else{
f = 2.5*x - 17.5;
}
printf("%.2f",f);
return 0;
}
--------------------------------------------------------------------------
本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。
输入格式:
输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。
输出格式:
当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。
输入样例1:
-7 / 2
输出样例1:
-3
输入样例2:
3 & 6
输出样例2:
ERROR
// 题目链接 https://pintia.cn/problem-sets/14/exam/problems/792
#include<bits/stdc++.h>
using namespace std;
int main() {
int a, b;
char c; //操作符
int result;
scanf("%d %c %d", &a, &c, &b);
switch (c) {
case '+':
result = a + b;
printf("%d", result);
break;
case '-':
result = a - b;
printf("%d", result);
break;
case '*':
result = a * b;
printf("%d", result);
break;
case '/':
result = a / b;
printf("%d", result);
break;
case '%':
result = a % b;
printf("%d", result);
break;
default:
printf("ERROR");
}
return 0;
}
----------------------------------------------------------------------
你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it’s算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。
输入格式:
输入在一行中给出一行文本,以.结束
提示:用scanf(“%c”,…);来读入一个字符,直到读到.为止。
输出格式:
在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
输入样例:
It’s great to see you here.
输出样例:
4 5 2 3 3 4
// 题目链接 https://pintia.cn/problem-sets/14/exam/problems/806
#include<bits/stdc++.h>
using namespace std;
int main() {
char c;
int count=0;
while(1){
int a=0;
scanf("%c",&c);
while(c!='\n' && c!=' '&& c!='.'){
a++;
scanf("%c",&c);
}
if(a!=0){
count++;
if(count==1) printf("%d",a);
else printf(" %d",a);
}
if(c=='.') break;
}
return 0;
}