目录
一、分段计算居民水费
#include<stdio.h>
int main() {
float x, y = 0;
scanf_s("%f", &x);
if (x <= 15) {
y = (4 * x) / 3;
}
else {
y = 2.5 * x - 17.5;
}
printf("%.2f", y);
return 0;
}
二、两个数的简单计算器
#include<stdio.h>
int main() {
int a, b;
char c;
scanf("%d %c %d", &a,&c,&b);
if (c!= '+' && c != '-' && c != '*' && c != '/' && c != '%') {
printf("ERROR");
}else if (c == '+') {
printf("%d", a + b);
}
else if (c == '-') {
printf("%d", a - b);
}
else if (c == '*') {
printf("%d", a * b);
}
else if (c == '/') {
printf("%d", a / b);
}
else if (c == '%') {
printf("%d", a % b);
}
return 0;
}
这题是真的做复杂了,在网上看到可以使用switch语句,如下(篇幅问题只展示变化部分):
#include<stdio.h>
int main() {
int a, b;
char c;
scanf("%d %c %d",&a,&c,&b);
switch (c) {
case '+':
printf("%d", a + b);
break;//switch语句在应用时,不要忘记了break
case '-':
printf("%d", a - b);
break;
case '*':
printf("%d", a * b);
break;
case '/':
printf("%d", a / b);
break;
case '%':
printf("%d", a % b);
break;
default:
printf("ERROR");
break;
}
return 0;
}
三、日K蜡烛图
#include<stdio.h>
int main() {
float o, h, l, c;
scanf("%f %f %f %f", &o, &h, &l, &c);
if (c < o) {
printf("BW-Solid");
}
else if (c > o) {
printf("R-Hollow");
}else {
printf("R-Cross");
}
if (l<o && l<c && h>o && h>c) {
printf(" with Lower Shadow and Upper Shadow" );
}
else if ((l < o && l < c&& h<=o)|| (l < o && l < c && h <= c)){
printf(" with Lower Shadow" );
}
else if((h > o && h > c&&l>=o)|| (h > o && h > c && l >= c) ){
printf(" with Upper Shadow" );
}
return 0;
}
四、求整数段和
#include<stdio.h>
int main() {
int A, B, X = 1, i;
int Sum = 0;
scanf("%d %d", &A, &B);
for (i = A; i <= B; i++, X++) {
printf("%5d", i);
Sum = Sum + i;
if (X % 5 == 0)
printf("\n");
}
if ((X-1) % 5 != 0)//满足只输出1行的情况
printf("\n");
printf("Sum = %d", Sum);
return 0;
}
该题的难点在,顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。“每5个数字占一行”, if (X % 5 == 0); printf("\n");。“每个数字占5个字符宽度”,printf("%5d", i)。
五、计算圆周率
目前没办法靠自己做出来,稍后补充