解题思路:
初学者用简单方法把三个问题挨个解决
注意事项:
有点费时间
参考代码:
#include <stdio.h>
int weishu(int x); //自定义函数,位数,用于解决第一个问题,形参x调用主函数从键盘输入的a。
int kongge(int n); //自定义函数,空格,用于解决第二个问题,形参x调用主函数从键盘输入的a。
int nixu(int j,int k,int l); //自定义函数,逆序,用于解决第三个问题,形参j调用a,形参k调用b,形参l调用i。
int main()
{
int a, b=0, i=0; //定义三个变量
scanf("%d", &a); //从键盘输入a的值
weishu(a); //调用函数,位数
kongge(a); //调用函数,空格
nixu(a,b,i); //调用函数,逆序
return 0;
}
int weishu(int x) //把实参a的值给x,x有几位就输出几。
{
if (x < 100000 && x>9999)
{
printf("5\n");
}
else if (x < 10000 && x>999)
{
printf("4\n");
}
else if (x < 1000 && x>99)
{
printf("3\n");
}
else if (x < 100 && x>9)
{
printf("2\n");
}
else if (x < 10 && x >= 0)
{
printf("1\n");
}
return 0;
}
int kongge(int n) //把实参a的值给n
{
int m; //定义变量m
if (n < 100000 && n>9999) //把n的每一位算出来赋值给m,再把m挨个输出,%d后面加空格,最后一个m后面加\n。
{
m = n / 10000;
printf("%d ", m);
m = n % 10000 / 1000;
printf("%d ", m);
m = n % 1000 / 100;
printf("%d ", m);
m = n % 100 / 10;
printf("%d ", m);
m = n % 10;
printf("%d\n", m);
}
else if (n < 10000 && n>999)
{
m = n % 10000 / 1000;
printf("%d ", m);
m = n % 1000 / 100;
printf("%d ", m);
m = n % 100 / 10;
printf("%d ", m);
m = n % 10;
printf("%d\n", m);
}
else if (n < 1000 && n>99)
{
m = n % 1000 / 100;
printf("%d ", m);
m = n % 100 / 10;
printf("%d ", m);
m = n % 10;
printf("%d\n", m);
}
else if (n < 100 && n>9)
{
m = n % 100 / 10;
printf("%d ", m);
m = n % 10;
printf("%d\n", m);
}
else if (n < 10 && n >= 0)
{
printf("%d\n", n);
}
return 0;
}
int nixu(int j, int k, int l) //实参a给j,实参b给k,实参i给l。
{
if (j < 100000 && j>9999) //l作为循环控制变量,k=j的最后一位,然后用j /= 10,把j的最后一位整没,循环输出k。
{
for (l = 0; l < 5; l++)
{
k = j % 10;
j /= 10;
printf("%d", k);
}
}
else if (j < 10000 && j>999)
{
for (l = 0; l < 4; l++)
{
k = j % 10;
j /= 10;
printf("%d", k);
}
}
else if (j < 1000 && j>99)
{
for (l = 0; l < 3; l++)
{
k = j % 10;
j /= 10;
printf("%d", k);
}
}
else if (j < 100 && j>9)
{
for (l = 0; l < 2; l++)
{
k = j % 10;
j /= 10;
printf("%d", k);
}
}
else if (j < 10 && j >= 0)
{
printf("%d", j);
}
return 0;
}
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复