C语言解答?编写代码?题目:给出一个不多于5位的整数,要求:1,求出它是几位数。2,分别输出每一位数

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-02
c语言题目:给出一个不多于5位的正整数,要求:1、求出它是几位数2、分别输出每一位数字

#includeint main(){ unsigned int x=1, i=0; unsigned char c[5]={0}; while(1) { printf("输入正整数x(不超过5位):"); scanf("%u",&x); if(x/100000) { printf("超过范围!
"); continue; } i=0; do { c[i++]=x%10; }while(x /= 10); printf("%d位数
",i); while(i >0) printf("%d ",c[--i]); putchar('
'); } return 0;}

不对的原因,主要是if条件语句应该是用“==”而不是“=”,这是判断,不是赋值。其它的错误,scanf_s("%d",&a)改成scanf("%d",&a),printf用错了,printf打印应该是一个占位符对应一个要输出的内容,就是你代码中%d对应一个输出。
修改后的代码:
#include
int main()
{
int a, b, c, d, e, f, w;
printf("输入一个不多于五位的整数:");
scanf("%d",&a);
//第一问,求出它是几位数
b = 10000 - a;
c = 1000 - a;
d = 100 - a;
e = 10 - a;
f = 0 - a;
while (a 99999)
printf("输入错误,请重新输入
");
if (b < 0)
{
printf("a是五位数
");
w = 5;
}else if (c < 0){
printf("a是四位数
");
w = 4;
}else if (d < 0){
printf("a是三位数
");
w = 3;
}else if (e < 0){
printf("a是两位数
");
w = 2;
}else if (f < 0){
printf("a是个位数
");
w = 1;
}else
printf("输入错误,请重新输入
");
//第二问,分别输出每一位数字
if (w == 5)
printf("%d %d %d %d %d
", a / 10000, a / 1000 % 10, a / 100 % 10, a / 10 % 10, a % 10);
if (w == 4)
printf("%d %d %d %d
", a / 1000 % 10, a / 100 % 10, a / 10 % 10, a % 10);
if (w == 3)
printf("%d %d %d
", a / 100 % 10, a / 10 % 10, a % 10);
if (w == 2)
printf("%d %d
", a / 10 % 10, a % 10);
if (w == 1)
printf("%d
", a % 10);
//第三问,按逆序输出各位数字
if (w == 5)
printf("%d %d %d %d %d
", a % 10, a / 10 % 10, a / 100 % 10, a / 1000 % 10, a / 10000);
if (w == 4)
printf("%d %d %d %d
", a % 10, a / 10 % 10, a / 100 % 10, a / 1000 % 10);
if (w == 3)
printf("%d %d %d
", a % 10, a / 10 % 10, a / 100 % 10);
if (w == 2)
printf("%d %d
", a % 10, a / 10 % 10);
if (w == 1)
printf("%d
", a % 10);
}
修正后的代码执行如下:

供参考。
#include "stdafx.h"
#include "stdio.h"//
#include "string.h"//
#include "stdlib.h"//
void main(void){/*主程序*/
int n,lax,i;
char ax[10]={NULL,};
printf("请输入一个不大于5位的十进制正整数!\nn=");
scanf("%d",&n);
lax=strlen(itoa(n,ax,10));
printf("输入的是%d位数\n每一位是",lax);
for(i=0; i<lax; printf("%c ",ax[i++]));
printf("\n反向输出");
for(;i>=0;printf("%c ",ax[--i]));
printf("\n");
}

#include <stdio.h>
int main(void)
{
int val;
int len = 0;
int temp; //临时存储val
int a[5];

scanf("%d",&val);

temp = val;
//此循环求位数
do
{
len += 1;
}while(temp /= 10);
printf("%d\n",len);

temp = val;
//此循环保存成数组
for(int i=len-1; i>=0; --i)
{
a[i] = temp%10;
temp /= 10;
}

//此循环正序输出
for(int i=0; i<len; ++i)
printf("%d ",a[i]);
printf("\n");

//此循环逆序输出
for(int i=len-1; i>=0; --i)
printf("%d ",a[i]);
printf("\n");

return 0;
}

我来试试看:
int main()
{
int n,a,b,s;
scanf("%d",&n);
s=0;
b=1;
do
{
a=n-2*b;
if (a*b>s) s=a*b;
b++;
}
while(b<=(n-1)/2);
printf("%d\n",s);
}

  • C语言解答?编写代码?题目:给出一个不多于5位的整数,要求:1,求出它是...
    答:printf("请输入一个不大于5位的十进制正整数!\nn=");scanf("%d",&n);lax=strlen(itoa(n,ax,10));printf("输入的是%d位数\n每一位是",lax);for(i=0; i<lax; printf("%c ",ax[i++]));printf("\n反向输出");for(;i>=0;printf("%c ",ax[--i]));printf("\n");} ...
  • c语言如何编写题目为给出一个不小于4且不超过2000的偶数n,验证该数可 ...
    答:可以使用循环来实现对偶数n的验证。具体步骤如下:接收用户输入的偶数n;循环i从2到n/2,判断n-i和i是否都为质数,如果是则输出n=i+(n-i);如果没有找到符合要求的i和n-i,则输出该数不能写成两个质数的和。代码示例:c include <stdio.h> int is_prime(int n) { // 判断n是否为质数...
  • C语言题目:一刀可以把蛋糕分为两个部分,如果给出要两个部分的面积的比值...
    答:设蛋糕的半径是R,则求出弦长的单位是R。参考代码如下——include "stdio.h"include "math.h"int main(int argc,char *argv[]){ double zt,x,y,t,pai=3.1415926535897932,e=1E-6;printf("Please enter the x & y(R:x,y>=0)...\n");if(scanf("%lf%lf",&x,&y)!=2 || x<...
  • 求C语言编程大神解答一下下面这个编程代码?
    答:int minPos = start;for (int i = start + 1; i <= end; i++) { if (*a[i] < *a[minPos]) { minPos = i;} } return minPos;} void Sort(int* a[], int n) { for (int i = 0; i < n - 1; i++) { int minPos = MinPos(a, i, n - 1);if (minPos != ...
  • 求大神帮我做一道c语言题目:给一个不多于三位的正整数,要求:1求出...
    答:){ int n;while(1){ printf("请输入一个不多于三位的正整数:");fflush(stdin);scanf("%d",&n);if(0<n&&n<=999){ A(n);break;} if(n>999){ printf("该数字位数超过三位\n");} if(n<0){ printf("该数字为负数\n");} } return 0;} 希望我的回答对你有帮助!望采纳!
  • 这里有一道C语言题目,大神能给一下代码吗?
    答:下面是我写给你的演示代码:主要3个函数,分别是1、显示链表及菜单;2、插入新节点;3、删除指定节点;PS:插入和删除成功,函数都会返回目标位置前一个节点,你可以利用这个返回值写撤销功能(撤销插入只要直接重新连接链表指针并释放内存,而撤销删除,你需要在调用删除前用变量保存一个节点备份)。选择...
  • 编写一个C语言程序?
    答:对应题目:输入n(n<100)个整数,将所有的偶数倒序输出 代码截图 代码 运行结果 结果 完整代码 include <stdio.h> //输入n(n<100)个整数,将所有的偶数倒序输出 int main(){ int n;int num[105]={0};int i=0;scanf("%d",&n);//输入n for(i=1;i<=n;i++){//循环n次 scanf("%d...
  • C语言题目——肿瘤面积,求解!我下面将给出在C++6.0环境下的代码,请高...
    答:思路1 程序:define N 100 int main(int argc, char *argv[]){ int kk = 0;int sizep, i, j;int PosX_str = N, PosY_str = N, PosX_end = 0, PosY_end = 0;//矩形左上起始点(start)和右下结束点(end)坐标 int Dat[100][100];scanf("%d", &sizep);for(i = 0; ...
  • 急!急!简单c语言编程题,求编写代码
    答://第一题#include<stdio.h>void fun(int n){ int i,j,k,t;for(k=0;k<n;k++)//控制总行数{ for(i=0;i<n-k-1;i++)//控制输出空格,因为空格不好看见,就用*代替 printf("%c",'*'); for(j=0;j<2*k+1;j++)//控制输出字母 { printf("%c",65+j)...
  • 实验内容用c语言应如何编写程序?请写出完整程序代码
    答:以下是一个简单的C语言程序,用于进行一个简单的实验:include <stdio.h> int main() { int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("这两个整数的和是:%d\n", sum);return 0;} 这个程序会提示用户输入两个整数,然后计算它们的和...