c语言中实现以下 输入一个不多于4位的整数,求出它是几位数,并逆序输出各位
输入一个不多于4位的正整数,求它的位数,并按逆序输出各位数字,可以参考下面的代码:
#include
int main()
{
int n, ans = 0;
scanf("%d", &n);
printf("逆序输出:");
while(n != 0)
{
int t;
t = n % 10;
n /= 10;
ans++;
printf("%d ", t);
}
puts("");
printf("位数为:%d
", ans); // 位数
return 0;
}
扩展资料:
C语言函数列举:
C语言asin()函数:求反正弦
C语言atan()函数:求反正切
C语言atan2()函数:求x/y的反正切值
C语言cos()函数:求余弦
C语言cosh()函数:求双曲余弦
C语言log()函数:返回x的自然对数(以e为底的对数)
C语言ldiv()函数:求两个数的商和余数(针对long类型)
C语言isupper()函数:判断一个字符是否是大写字母
C语言isspace()函数:判断一个字符是否是空白符
参考资料来源:百度百科-c语言
#include
int main()
{
int i=0; //输入的数字
int n=0; //几位数
int a[50]; //存放每位的数字
printf("输入一个整数:");
scanf("%d",&i);
while(i!=0)
{
a[n]=i%10;
i/=10;
n++;
}
printf("是%d位数
",n);
for(int j=0;j<n;j++) //逆序输出
printf("%d",a[j]);
printf("
");
for(int j=n-1;j>=0;j--) //顺序输出
printf("%d",a[j]);
printf("
");
}
main()
{
int n,tempn=0,num=0;
printf("please input the number:\n");
scanf("%d",&n);//输入整数n
while(n)//如果n=0则退出循环
{
tempn = tempn*10 + n%10; // tempn是为了计算逆序的数
n = n/10;//除掉一位
num++;//num为了判断位数
}
printf("位数是:%d,逆序后是:%d\n",num,tempn);
system("pause");
}
///这是最简单的解法了
char num[4],*p=num; gets(num); printf("%d位数",strlen(num)); while(*p)printf("%c\n",*p++);
季狱西拉: #include <stdio.h> #include <math.h>int main(void) {int num;do{printf("请输入一个不大于四位的数据:\n");scanf("%d", &num);while(getchar()!='\n') //防止意外输入无效字符continue;}while(!(num>0 && num<10000)); int i=1, ...
美姑县15049284180: c语言中实现以下 输入一个不多于4位的整数,求出它是几位数,并逆序输出各位?
季狱西拉: #include<stdio.h> main() { int n,tempn=0,num=0; printf("please input the number:\n"); scanf("%d",&n);//输入整数n while(n)//如果n=0则退出循环 { tempn = tempn*10 + n%10; // tempn是为了计算逆序的数 n = n/10;//除掉一位 num++;//num为了判断位数 } printf("位数是:%d,逆序后是:%d\n",num,tempn); system("pause"); } ///这是最简单的解法了
美姑县15049284180: 用C语言试编程完成如下功能:输入一个不多于4位的整数,求出它是几位数. - ?
季狱西拉: int main() { int x; scanf("%d",&x); printf("是%d位数\n",x>99?x>999?4:3:x>9?2:1); return 0; }
美姑县15049284180: c语言:(输入一个不多于4位的正整数,判断它是几位数)这是我的解法,我觉得不好,有没精炼的,求指导 - ?
季狱西拉: main() {int a,b;scanf("%d",&a);if ( a > 9999 ){printf("E\n");}else{b=0;do{b++;a /= 10 ;}while( a );printf("%d\n",b);}getch(); }
美姑县15049284180: 编写一个c程序,输入一个不多于4位的正整数,求出它是几位数. - ?
季狱西拉: 实际验证正确的 #include <stdio.h> void main() { int n, c = 0; scanf("%d", &n); if (n == 0) c = 1; else while (n > 0) { n /= 10; c++; } printf("%d\n", c); }
美姑县15049284180: C语言编程题:输入一个不多于4位的正整数,要求如下1求出它是几位数;2输出每一位数.有谁会帮帮忙 - ?
季狱西拉: #include <stdio.h>#include <string.h>#include <ctype.h>#include <stdlib.h>#define SIZE 512 int main() { int num=0,sum=0; char szNum[SIZE]={0}; char *p=szNum; puts("请输入一个数:"); scanf("%d",&num); itoa(num,szNum,10); ...
美姑县15049284180: C语言题目.输入一个不多于4位的正整数,求它的位数,并按逆序输出各位数字. - ?
季狱西拉: #includeint main() { char digtal[20]; int count = 0; int i; int num; scanf("%d",&num); while( num ) { digtal[count]= num % 10; num /= 10; count ++; } printf("输入%d, 共%d位\n", num,count); for(i = count - 1; i >= 0 ; i--) printf("%d",digtal[i]); return 0; }
美姑县15049284180: c语言输入一个不多于4位的正整数,求出它的几位数,逆序打印出各位数字 用if else做 - ?
季狱西拉: a[j++] = i % 10; 相当于a[j] = i % 10;后面的i%10是求个位上的那个数字,赋值给a[j]j从0开始 也就是说各位上的数字付给a[0] 然后j++,i/=10;就是去掉个位数,再对i%10就是求十位数,放在a[1]以此类推下去就可以了例子: 123 123%10 = 3123/10 = 12; 12 % 10 = 2体会一下吧
美姑县15049284180: c语言编辑,请输入一个不大于四位数的正整数,要求一,求它是几位数,要求二,求逆序打印出数字 - ?
季狱西拉: 直接将这个数字以字符串形式输入,然后再调用string.h头文件中的函数可以得到答案.
美姑县15049284180: C语言编程题给一个不多于4位的正整数,求出它是几位数,并正序和逆序打印出各位数字. - ?
季狱西拉: 源程序如下: #include <stdio.h> int main() { int i,n = 0,num,x; char ch,s[20]; printf("请输入小于四位的数: "); scanf("%d",&num); x=num; while(x) { s[n] =x%10 + '0'; x/= 10; ++n; } s[n] = '\0'; printf("%d 是%d位数\n",num,n); printf("逆序...