int main(void){int n,sum=0,count=0,s;printf("输入一个整数:");scanf("%d",&n);while(n){s=n%10;n=n/10;sum+=s;count++;}printf("整数的个数为:%d\n个位数的和为:%d\n",count,sum);system("pause");return 0;}
不会C语言。给出几个算法,代码是fortran的,供参考。 第一种,用整数除法。对于整数a,连续用10除,直到商为零。除法的次数,即为位数。 这个算法对于正负整数和零都能获得正确的结果。 第二种,用对数函数直接计算。对a取绝对值,再计算10为底的对数,所得结果取整数部分,再加1,即为位数。由于log10函数的变量不...
C语言:输入一个不多于5位的正整数,求它是几位数.要求:将判断一个数的位数操作定义为一个函数 C语言:输入一个不多于5位的正整数,求它是几位数.(要求:将判断一个数的
include <string.h> void main(){ int i,len,sum=0;char str[10];printf("输入正整数: ");scanf("%s",str);len=strlen(str);for(i=0;i<len;i++)sum+=str[i]-'0';printf("%s是%d位数,各位数字之和是%d\n",str,len,sum);...
main(){ int n,cnt=0,t;//cnt用来统计n是几位数 printf("请输入一个整数:"); scanf("%d",&n); t = n; while(n){ n = n/10; //n每次都除以十 cnt++; } printf("%d是一个%d位数!\n",t,cnt); return 0;} ...
while(s){ n++; s/=10; } return n;}int main(){ int n; double s; scanf("%d",&n); printf("该数是:%d位数\n",tonum(n)); if(n/100%10==5){ s=sqrt(n); printf("%.2lf\n",s); } return 0;}/*输出:1500该数是:4位数38.73:*/ ...
n=abs(n); switch(n%10) { case 0:a++;break; case 1:b++;break; case 2:c++;break; case 3:d++;break; case 4:e++;break; case 5:f++;break;
int n,i=0;scanf("%d",&n);while(n>0){i++;n=n/10;}printf("%d",i);
\n");scanf("%d",&num);temp = num;if (temp < 0){sign = 1;temp=-temp;}do{t=temp%10;temp=temp/10;a[i++] = t;}while(temp>0);if(sign==1){printf("%d是负数,它是%d位数,",num,i);}else{ printf("%d是正数,它是%d位数,",num,i);}printf("各位数是:...
void main(){ int r;int count = 1;scanf("%d", &r);r /= 10;while(r != 0){ count++;r /= 10;} printf("%d",count);system("pause");}