目录
前言:
开新专栏了,讲解100道基础语法编程题
用c语言讲解
目的是复习c语言中的基础语法,为单片机中的c语言代码分析做铺垫
专栏链接:
04、求绝对值
1、题目展示:
2、问题分析:
首先输入数据有多组,每组一个占一行,每组包含一个实数
对于多组数据的输出问题,以及01、ASCII码排序中有详细的介绍,这里就不过多的赘述了
直接展示相关代码
double a;
while(scanf("%lf",&a)==1){
}
输入的问题解决了,下面我们来解决输出的问题
以下是整型和浮点型取绝对值需要用到的函数以及头文件总结
对于整型short,c语言中没有对应的取绝对值函数,需要自定义一个
以下是代码展示:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
short new_abs(short num) {
return (num < 0) ? -num : num;
}
int main() {
short a;
printf("请输入一个范围在[-32768,32767]之间的整数:");
scanf("%hd", &a);
short x=new_abs(a);
printf("你输入的整数的绝对值是:%hd", x);
return 0;
}
对于整型int取绝对值用abs函数 如果使用abs函数需要包含头文件stdlib.h
对于整型long取绝对值用labs函数,需要包含头文件stdlib.h
对于整型long long取绝对值用llabs函数,需要包含头文件stdlib.h
对于浮点型取绝对值用fabs函数
double b=fabs(x);
printf("%.2lf",b);因为需要保留两位小数,所以写成“%.2lf”
3、最终代码展示:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main() {
double a;
while (scanf("%lf", &a) == 1) {
double b = fabs(a);
printf("%.2lf\n", b);
}
return 0;
}
05、成绩转换
1、题目展示:
2、问题分析:
首先输入数据有多组,每组一个占一行,由一个整数组成
对于多组数据的输出问题,以及01、ASCII码排序中有详细的介绍,这里就不过多的赘述了
直接展示代码
int t;
while(scanf("%d",&t)==1){
}
对于成绩转换问题,使用if语句嵌套
if (t >= 0 && t <= 100) {
if (t >= 90) {
printf("A\n");
}
else if (t >= 80) {
printf("B\n");
}
else if (t >= 70) {
printf("C\n");
}
else if (t >= 60) {
printf("D\n");
}
else {
printf("E\n");
}
}else {
printf("Score is error!");
}
3、最终代码展示:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int t;
while (scanf("%d", &t) == 1) {
if (t >= 0 && t <= 100) {
if (t >= 90) {
printf("A\n");
}
else if (t >= 80) {
printf("B\n");
}
else if (t >= 70) {
printf("C\n");
}
else if (t >= 60) {
printf("D\n");
}
else {
printf("E\n");
}
}else {
printf("Score is error!");
}
}
return 0;
}