谭浩强C语言程序设计习题-选择结构程序设计
[编程入门]三个数找最大值
#include<stdio.h>
int main()
{
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
if(a>b) d=a;
else d=b;
if(c>d) d=c;
printf("%d",d);
return 0;
}
[编程入门]分段函数求值
#include"stdio.h"
int main(){
int x,y;
scanf("%d",&x);
if(x<1){
y=x;
}
else if(1<=x&&x<10){
y=2*x-1;
}
else{
y=3*x-11;
}
printf("%d",y);
return 0;
}
[编程入门]成绩评定
#include<stdio.h>
int main(){
int a;
scanf("%d",&a);
switch(a/10){
case 10:
case 9:
putchar('A');
break;
case 8:
putchar('B');
break;
case 7:
putchar('C');
break;
case 6:
putchar('D');
break;
default:
putchar('E');
}
}
[编程入门]数字的处理与判断
#include <stdio.h>
#include <math.h> //C语言数学头文件,pow() 函数包含在此内
int main() {
int num; //定义数字
scanf("%d", &num); //输入数字
int n = 0; //定义数字的位数
if (num == 0) n = 1; //如果数字是0,则位数为1
int temp = num; //定义 temp 来代替 num 进行计算
while (temp) { //将temp循环除以 10,到 0 为止
n++;
temp /= 10;
}
printf("%d\n", n); //输出数字位数
for (int i = n - 1; i >= 0; i--) { //第二循环,从左往右输出
temp = num / pow(10, i); //除以 10 的 i 次方
printf("%d ", temp % 10); //输出对 10 取余
}
printf("\n"); //输出回车
for (int i = 0; i < n; i++) { //第三循环,从右往左循环
temp = num / pow(10, i); //除以 10 的 i 次方
printf("%d", temp % 10); //输出对 10 取余
}
return 0;
}
[编程入门]利润计算
#include "stdio.h"
int main()
{
int i,r;
const int B=100000;
scanf("%d",&i);
if(i<=B)//利润低于或等于100000元时
{
r=i*0.1;
}
else if(i>B && i<=(2*B)) //利润高于100000元,低于或等于200000元时
{
r=0.1*B+(i-B)*0.075;
}
else if(i>(2*B) && i<=(4*B)) //利润高于200000元,低于或等于400000元时
{
r=0.1*B+0.075*B+(i-2*B)*0.05;
}
else if(i>(4*B) && i<=(6*B)) //利润高于400000元,低于或等于600000元时
{
r=0.1*B+0.075*B+0.05*2*B+(i-4*B)*0.03;
}
else if(i>(6*B) && i<=(10*B)) //利润高于600000元,低于或等于1000000元时
{
r=0.1*B+0.075*B+0.05*2*B+0.03*2*B+(i-6*B)*0.015;
}
else if(i>(10*B)) //利润高于1000000元时
{
r=0.1*B+0.075*B+0.05*2*B+0.03*2*B+4*B*0.015+((i-10*B)*0.01);
}
printf("%d",r);
return 0;
}