1 计算摄氏温度值
描述
从键盘输入一个华氏温度值,要求按格式输出其对应的摄氏温度值,精确到小数点后两位。
数学公式描述为:
摄氏温度值等于9分之5 乘上 华氏温度值减去32的差 所得到的积。
输入格式
华氏温度值
输出格式
摄氏温度值,精确到小数点后两位
输入样例
100
输出样例
37.78
代码实现
#include <stdio.h>
int main()
{
double f;
scanf("%lf",&f);
printf("%.2lf",(f-32)/9*5);
return 0;
}
2 计算数列和
描述
由键盘输入一个正浮点数e,计算如下数列的和,以某项绝对值小于e结束
1 -1/2 1/3 -1/4 1/5 -1/6 1/7 -1/8 …
结果显示7位小数
输入格式
一个浮点数
输出格式
和
输入样例
0.4
输出样例
0.5000000
代码实现
#include <stdio.h>
#include <math.h>
int main()
{
double e,a=1,b=1,all=0;
scanf("%lf",&e);
while(fabs(a/b)>=e){
all+=a/b;
a=-a;
b++;
}
printf("%.7lf",all);
return 0;
}
3 求各位数和
描述
由键盘输入一个int类型的正整数,计算输出构成该数的各位数字之和。
输入样例
126489
输出样例
30
提示
因为1+2+6+4+8+9=30
#include <stdio.h>
int main()
{
int a,all=0;
scanf("%d",&a);
while(a!=0){
all+=a%10;
a/=10;
}
printf("%d",all);
}
4 多个数的最大公约数
描述
由键盘输入n(n<=10)个正整数,计算并输出它们的最大公约数。
输入格式
第一行为n,第二行为n个正整数(空格分隔)
输出格式
这n个数的最大公约数
输入样例
3
12 18 42
输出样例
6
提示
数字之间一个空格
#include <stdio.h>
int ojld(int a,int b)
{
if(a<b){
int temp=b;
b=a;
a=temp;
}
while(a%b){
int r = a%b;
a=b;
b=r;
r=a%b;
}
return b;
}
int main()
{
int a,b,n,sz[10],min=999;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&sz[i]);
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(ojld(sz[i],sz[j])<min) min=ojld(sz[i],sz[j]);
}
}
printf("%d",min);
return 0;
}
5 吃豆豆
描述
大嘴巴吃豆豆:
有一个5*5的棋盘,每一个棋盘格上有一定数量的豆豆,大嘴巴最开始从最左上角的格开始吃起,然后可以选择走到下一格去吃豆豆,或走到右边一格去吃豆豆
(注意,大嘴巴不能向上或向左走,同时也不能走出棋盘),这样一直走一直吃,直到到达最右下一格为止。
如下图是一种走法
当然选择不同的路线,会吃到不同数量的豆豆,大嘴巴希望能吃到最多的豆豆,请编程实现输入棋盘上豆豆的分布情况,输出大嘴巴能吃到的最多豆豆数量。
输入格式
5行,每行5个数,代表每一格上的豆豆数量
输出格式
吃到的最多豆豆数量
输入样例
2 5 6 3 7
3 7 9 2 1
3 5 8 6 3
2 4 6 8 4
9 8 3 5 2
输出样例
52
代码实现:
#include <stdio.h>
int sz[5][5];
int max(int a,int b){
if(a>b)return a;
return b;
}
int F(int x,int y){
if(x<0||y<0){ //若超出边界
return 0; //则不取
}
else{
return max(F(x-1,y),F(x,y-1))+sz[x][y]; //递归
}
}
int main()
{
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
scanf("%d",&sz[i][j]);
}
}
printf("%d",F(4,4));
return 0;
}