编程初学者
16 按照格式输入并输出
题目15:输入两个整数,范围-231~231-1,交换两个数并输出。
#include <stdio.h>
int main(){
//输入
int a = 0;
int b = 0;
scanf("a=%d,b=%d", &a, &b);
int temp = a;
a = b;
b = temp;
printf("a=%d,b=%d\n",a,b);
//输出
return 0;
}
17 字符转ASCII码
题目16:BoBo教KiKi字符常量或字符变量表示的字符在内存中以ASCII码形式存储。BoBo出了一个问题给KiKi,输入一个字符,输出该字符相应的ASCII码。
#include <stdio.h>
int main(){
char ch = 0;
scanf("%c",&ch);
printf("%d\n",ch);
return 0;
}
18 计算表达式的值
题目17: 请计算表达式“(-8+22)×a-10+c÷2”,其中,a = 40,c = 212。
#include <stdio.h>
int main(){
int a = 40;
int c = 212;
int ret = (-8+22)*a-10+c/2;
printf("%d\n",ret);
return 0;
}
19 计算带余除法
题目18:给定两个整数a和b (-10,000 < a,b < 10,000),计算a除以b的整数商和余数。
#include <stdio.h>
int main(){
int a = 0;
int b = 0;
scanf("%d %d",&a,&b);
//int c = a/b;
//int d = a%b;
//printf("%d %d\n",c,d);
printf("%d %d\n",a/b,a%b);
return 0;
}
20 成绩输入输出
题目10:输入3科成绩,然后把三科成绩输出,成绩为整数形式。
#include <stdio.h>
int main(){
int score1 = 0;
int score2 = 0;
int score3 = 0;
scanf("%d %d %d",&score1,&score2,&score3);
printf("score1=%d,score2=%d,score3=%d",score1,score2,score3);
return 0;
}
21 kiki算数
题目20:问题:KiKi今年5岁了,已经能够认识100以内的非负整数,并且并且能够进行 100 以内的非负整数的加法计算。不过,BoBo老师发现KiKi在进行大于等于100的正整数的计算时,规则如下:
1、只保留该数的最后两位,例如:对KiKi来说1234等价于34;
2、如果计算结果大于等于 100, 那么KIKI也仅保留计算结果的最后两位,如果此两位中十位为0,则只保留个位。
例如:45+80 = 25
要求给定非负整数 a和 b,模拟KiKi的运算规则计算出 a+b 的值。
#include <stdio.h>
int main(){
unsigned int a = 0;
unsigned int b = 0;
scanf("%d %d",&a,&b);
//保留最后两位数则取模
//123 199
//123%100=23
//199%100=99
//23+99=122%100=22
//最终结果为22
//int ret = (a%100 + b%100)%100;
int ret = (a+b)%100;
printf("%d\n",ret);
return 0;
}
22 计算体重指数
题目25: 问题:计算BMI指数(身体质量指数)。BMI指数(即身体质量指数,简称体质指数又称体重,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。主要用于统计用途,当我们需要比较及分析一个人的体重对于不同高度的人所带来的健康影响时,BMI值是一个中立而可靠的指标。
#include <stdio.h>
int main(){
int weight = 0;
int height = 0;
//注意输入单位为厘米 输出单位为米
//float %f
//double %lf
//除号两端必须有一个为小数才能输出double类型
scanf("%d %d",&weight,&height);
double BMI = weight/(height * height/10000.0);
printf("%0.2lf\n",BMI);
return 0;
}
23 计算三角形的周长和面积
题目26:根据给出的三角形3条边a, b, c(0 < a, b, c < 100,000),计算三角形的周长和面积。
#include <stdio.h>
#include <math.h>
int main(){
//int a = 0;
//int b = 0;
//int c = 0;
//scanf("%d %d %d",&a,&b,&c);
double a = 0.0;
double b = 0.0;
double c = 0.0;
scanf("%lf %lf %lf",&a,&b,&c);
double p = (a+b+c) / 2;
double circumference = a + b + c;
double area = sqrt(p*(p-a)*(p-b)*(p-c));
printf("circumference=%0.2lf area=%0.2lf\n",circumference,area);
return 0;
}
24 计算球体的大小
题目27:给定一个球体的半径,计算其体积。其中球体体积公式为 V = 4/3*πr3,其中 π= 3.1415926。
#include <stdio.h>
int main(){
double pi = 3.1415926;
double r = 0.0;
scanf("%lf",&r);
double v = 4.0/3*pi*r*r*r;
printf("%0.3lf\n",v);
return 0;
}
25 变种水仙花
题目38: 变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。
例如:655 = 6 * 55 + 65 * 5
1461 = 1461 + 1461 + 146*1
求出 5位数中的所有 Lily Number。
#include <stdio.h>
int main(){
int i = 0;
//5位数的范围
for(i=10000; i<=99999; i++){
//判断
int j = 0;
int sum = 0;
//1461
//146 1 --/10 %10
//14 61 --/100 %100
//1 461 --/1000 %1000
for(j=10; j<=10000; j*=10){
sum += ((i/j) * (i%j));
}
//判断左右是否相等
if(sum == i){
//注意每两个数空格隔开
printf("%d ",i);
}
}
return 0;
}
26 浮点数的个位数字
题目21:给定一个浮点数,要求得到该浮点数的个位数。
#include <stdio.h>
int main(){
//float a = 0.0;
//scanf("%f",&a);
//printf("%d\n",(((int)a)%10));
int a = 0;
scanf("%d",&a);
printf("%d\n",a%10);
return 0;
}
27 你能活多少秒
题目22:问题:一年约有3.156×107s,要求输入您的年龄,显示该年龄合多少秒。
#include <stdio.h>
int main(){
int age = 0;
scanf("%d",&age);
//这里如果使用int类型,会越界
//sizeof(long) >= sizeof(int)
// 4/8个字节(取决于编译器) 4个字节
//这里为了更准确的表示,选择的long long
long long second = age * 3.156e7;
printf("%lld\n",second);
return 0;
}