#include <stdio.h>
void main() {
char g;
float s;
printf("请输入学生成绩:\n");
scanf("%f", &s);
while (s > 100 || s < 0) {
printf("输入有误, 请重新输入!\n");
scanf("%f", &s);
}
switch ((int)(s / 10)) {
case 10:
case 9:
g = 'A';
break;
case 8:
g = 'B';
break;
case 7:
g = 'C';
break;
case 6:
g = 'D';
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
g = 'E';
break;
}
printf("成绩为%5.1f分, 成绩等级为%c。\n", s, g);
}
#include <stdio.h>
#include <math.h>
int main() {
int num;
printf("请输入一个不多于5位的正整数: ");
scanf("%d", &num);
// 检查输入是否合法
if (num <= 0) {
printf("输入错误,应为正整数\n");
return 1;
}
// 检查数字是否超过5位
if (num > 99999) {
printf("输入错误,数字不能超过5位\n");
return 1;
}
// 计算位数
int temp = num;
int digit_count = 0;
while (temp != 0) {
temp /= 10;
digit_count++;
}
printf("这个数是%d位数\n", digit_count);
// 分别输出每一位数字
printf("每一位数字分别是: ");
temp = num;
int digits[5]; // 存储每一位数字
for (int i = digit_count - 1; i >= 0; i--) {
digits[i] = temp % 10;
temp /= 10;
}
for (int i = 0; i < digit_count; i++) {
printf("%d ", digits[i]);
}
printf("\n");
// 逆序输出各位数字
printf("逆序输出各位数字: ");
temp = num;
while (temp != 0) {
printf("%d", temp % 10);
temp /= 10;
}
printf("\n");
return 0;
}
#include <stdio.h>
#include <math.h>
int main() {
int num;
scanf("%d", &num);
if (num <= 0) {
printf("输入错误,应为正整数\n");
return 1;
}
if (num > 99999) {
printf("输入错误,数字不能超过5位\n");
return 1;
}
int digit_count = 0, n = num;
while (n != 0) {
n /= 10;
digit_count++;
}
printf("这个数是%d位数\n", digit_count);
printf("每一位数字分别是: ");
n = num;
for (int i = digit_count - 1; i >= 0; i--) {
printf("%d ", (n / (int)pow(10, i)) % 10);
}
printf("\n逆序输出各位数字: ");
n = num;
while (n != 0) {
printf("%d", n % 10);
n /= 10;
}
printf("\n");
return 0;
}