目录
7-1 逆序的三位数
/* 2021/12/16 测试
#include <stdio.h>
int main()
{
int a,b,c,d,e;
scanf("%d",&a);
b=a/100;
c=(a-b*100)/10;
d=a-b*100-c*10;
e=d*100+c*10+b;
printf("%d",e);
return 0;
} */
/*第一题*/
#include<stdio.h>
int main()
{ int a,b,c,x,y;/*由于要将三位数拆分 进行赋值 这里我们定义五个整型变量*/
scanf("%d",&x);/*注意输出函数的地址符号 ‘&’勿忘记*/
a=x/100;/*次步直接将三位数的 百位进行拆分*/
b=(x-a*100)/10; /* “x-a*100”即拆分了 只剩下 十位与个位 后续在除以10 即可得到十位的数字*/
c=(x-a*100-b*10); /* “x-a*100-b*10”直接 用三位数 减去百位加十位 即得到的为 个位数 由此 个位数即被拆分*/
y=c*100+b*10+a; /*用得到的个位数乘以100 ~ 即变成了 百位 后续的依次操作 即将原来的三位数 逆序*/
printf("%d",y);
return 0;
}
/*#include<stdio.h>
int main()
{int a,b,x,y,z;
scanf("%d",&a);
x=a/100;
y=(a-x*100)/10;
z=(a-x*100-y*10);
b=z*100+y*10+x;
printf("%d",b);
return 0;
}*/
7-2 求整数均值
/* 2021/12/16 测试
#include <stdio.h>
int main()
{
int a,b,c,d,sum;
float aver;
scanf("%d %d %d %d",&a,&b,&c,&d);
sum=a+b+c+d;
aver=sum/4.0;
printf("Sum = %d; Average = %.1f",sum,aver);
return 0;
} */
/*第二题*/
#include<stdio.h>
int main()
{
int a,b,c,d; /*由于要计算四个整数 于是 定义 int a,b,c,d*/
scanf("%d %d %d %d",&a,&b,&c,&d);
int sum=a+b+c+d; /*最后定义一个 整型 sum*/
float avg=(a+b+c+d)/4.0; /*注意此处除以的数是 4.0 非常关键 4.0!!*/
printf("Sum = %d; Average = %.1f",sum,avg); /*注意题目中的格式 在“sum”与“=”有两个空格 以及 “Average”和“=”之间 */
return 0; /*并且 注意 精确到小数点后一位 如何去玩! 用的符号是 %.1f*/ /*注意输出函数中 分隔 sum 与 aver的 是 “;”*/
}
/*
#include <stdio.h>
int main()
{int a,b,c,d,sum;
float aver;
scanf("%d %d %d %d",&a,&b,&c,&d);
sum=a+b+c+d;
aver=sum/4.0;
printf("Sum = %d; Average = %.1f",sum,aver);
return 0;
}
*/
7-3 日期格式化
/* 2021/12/06 测试
#include <stdio.h>
int main()
{
int m,y,d;
scanf("%d-%d-%d",&m,&d,&y);
printf("%d-%02d-%02d",y,m,d);
return 0;
} */
/*第三题*/
#include<stdio.h>
int main()
{
int m,d,y;
scanf("%d-%d-%d",&m,&d,&y); /*此处是由自己输入的年份 所以不需要 前导0 的设置*/
printf("%d-%02d-%02d",y,m,d);/*由于输出的月份以及日 有前导0 故 需要如 %02d 来表示*/
return 0;
}
/*#include<stdio.h>
int main()
{
int m,y,d;
scanf("%d-%d-%d",&m,&d,&y);
printf("%d-%02d-%02d",y,m,d);
return 0;
}*/
7-4 混合类型数据格式化输入
/* 2021/12/06 测试
#include <stdio.h>
int main()
{
int z;
float f1,f2;
char ch;
scanf("%f %d %c %f",&f1,&z,&ch,&f2);
printf("%c %d %.2f %.2f",ch,z,f1,f2);
return 0;
} */
/*第四题*/
#include<stdio.h>
int main()
{
float a; /*读题可知 需要四个数据 浮点型1 2 字符型 整型*/
int b;
char c;
float d;
scanf("%f %d %c %f",&a,&b,&c,&d);
printf("%c %d %.2f %.2f",c,b,a,d); /*输出时 浮点型 需要 保留两位小数 所以 %.2f的形式 输出*/
return 0;
}
/*#include <stdio.h>
int main()
{ int a;
float b,c;
char d;
scanf("%f %d %c %f",&b,&a,&d,&c);
printf("%c %d %.2f %.2f",d,a,b,c);
return 0;
}*/
7-5 然后是几点
//起始时间 t 流逝时间 d
//最终所需时间 sm
//最终所得小时数 h 最终所得分钟数 m
/* 2021/12/06 测试
#include <stdio.h>
int main()
{
int t,d,sm,h,m;
scanf("%d %d",&t,&d);
sm=(t/100)*60+(t%100)+d;
h=sm/60;
m=sm%60;
printf("%d%02d",h,m);
return 0;
} */
/*第五题*/
#include<stdio.h>
int main()
{int a,b,sm,h,m;
scanf("%d %d",&a,&b);
sm=(a/100)*60+(a%100)+b;
h=sm/60;
m=sm%60;
printf("%d%02d",h,m);
return 0;}
/*起始时间和流失时间 两个变量*/
/*有题意可知,所需要的求出输入时间的完全分钟时间 一个变量 sj*/
/*对于所输入的时间 NNNN 前两个NN 通过 NNNN/100 得出商 */
/* NNNN 后两个NN 通过取余 即 NNNN/100 得出余数 */
/*通过操作后 得出的sj 通过sj/60 得出的整数 即 最终所求小时数 h 一个变量*/
/* 通过sj%60 得出的余数 即最终所求分钟数 m 一个变量*/
/*注意输出的函数中 scanf 中 输出的 m 可能存在前导0 于是我们需要 %02d 来处理一下数据*/
/* 共需要 五个变量 a b sj h m*/
/*
#include <stdio.h>
int main()
{int a,b,sj,h,m;
scanf("%d%d",&a,&b);
sj=(a/100)*60+(a%100)+b;
h=sj/60;
m=sj%60;
printf("%d%02d",h,m);
return 0;
}
*/
7-6 计算存款利息
// 需要 interest(i) money(m) rate(r) year(y) 四个都为 float型
// 注意到 有指数函数 需要引用 数学函数 即 #include<math.h>
/* 2021/12/06 测试
#include <stdio.h>
#include <math.h>
int main()
{
float interest,m,r,y;
scanf("%f %f %f",&m,&y,&r);
interest=m*pow(1+r,y)-m;
printf("interest = %.2f",interest);
return 0;
} */
/*第六题*/
#include<stdio.h>
#include<math.h>
int main()
{
float m, y, r, i;
scanf("%f %f %f",&m,&y,&r);
i=m*pow(1+r,y)-m;
printf("interest = %.2f",i);
return 0;
}
7-7 苹果装盘
//苹果装盘
//有N个苹果需要装盘 每个盘子装三个
//如果刚好为3的倍数 则通过 N/3 得出的结果搞好为 所需结果
//如果不为 3的倍数 例如 11 则需要 四个 盘子 3+1 如何去解决这么一个问题呢?
//发现 将N+2 再用来 做商 得到的 结果 即可 解决 3的倍数问题
/* 2021/12/06 测试
#include <stdio.h>
int main()
{
int N,p;
scanf("%d",&N);
p=(N+2)/3;
printf("%d",p);
return 0;
} */
/*第七题*/
#include<stdio.h>
int main()
{
int a,b;
scanf("%d",&a);
b=(2+a)/3;
printf("%d",b);
return 0;}
7-8 计算并联电阻的阻值
//计算并联电阻的阻值
//我们需要 三个 实型变量 r1 r2 R
//注意最后要保留两位小数
/* 2021/12/06 测试
#include <stdio.h>
int main()
{
float r1,r2,R;
scanf("%f %f",&r1,&r2);
R=1/(1/r1+1/r2);
printf("%.2f",R);
return 0;
} */
/*第八题*/
#include<stdio.h>
int main()
{
float r1,r2,r;
scanf("%f %f",&r1,&r2);
r=1/(1/r1+1/r2);
printf("%.2f",r);
return 0;}