我是新手,不知道这个程序该怎么写!大家帮帮忙啊!谢谢啦!
题目是 : 给一个不多于5位数的正整数,要求:(1)求出他是几位数(2)分别打印出每一位数字(3)按逆序打印出各位数字,例如原数为321,则应输出为123
#include "math.h" main() { int num,i,aa[4]; int cnt=0,fanxushu=0,x; printf("请输入一个整数,num="); scanf("%d",&num); while(num) /* 求每一个位数 */ { aa[cnt++]=num%10; num=num/10; } for(i=0;i<cnt;i++) { x=pow(10,cnt-i-1); fanxushu+=x*aa[i]; } printf("\n这是一个%d位数\n",cnt); printf("依次打印每一位数字为:"); for(i=cnt-1;i>=0;i--) printf("%4d",aa[i]); printf("\n反向打印每一位数字为:"); for(i=0;i<cnt;i++) printf("%4d",aa[i]); printf("\n这个数的反序数为:%d",fanxushu); getch();
}
#include "math.h" main() { int num,i,aa[4]; int cnt=0,fanxushu=0,x; printf("请输入一个整数,num="); scanf("%d",&num); while(num) /* 求每一个位数 */ { aa[cnt++]=num%10; num=num/10; } for(i=0;i<cnt;i++) { x=pow(10,cnt-i-1); fanxushu+=x*aa[i]; } printf("\n这是一个%d位数\n",cnt); printf("依次打印每一位数字为:"); for(i=cnt-1;i>=0;i--) printf("%4d",aa[i]); printf("\n反向打印每一位数字为:"); for(i=0;i<cnt;i++) printf("%4d",aa[i]); printf("\n这个数的反序数为:%d",fanxushu); getch();
}
有点小问题,题目说是不多于5位的整数,那就是可能是5位的。int num;num<=32767,所以要改成long num;scanf("%ld",&num); aa[4]也要改成aa[5]
改好的了!!!晕~~~~~~~~~连这个也要我改!!
#include "math.h" main() { long num,i,aa[5]; int cnt=0,x; long fanxushu=0; printf("请输入一个整数,num="); scanf("%ld",&num); while(num) /* 求每一个位数 */ { aa[cnt++]=num%10; num=num/10; } for(i=0;i<cnt;i++) { x=pow(10,cnt-i-1); fanxushu+=x*aa[i]; } printf("\n这是一个%d位数\n",cnt); printf("依次打印每一位数字为:"); for(i=cnt-1;i>=0;i--) printf("%4ld",aa[i]); printf("\n反向打印每一位数字为:"); for(i=0;i<cnt;i++) printf("%4ld",aa[i]); printf("\n这个数的反序数为:%ld",fanxushu); getch();
}