c语言作业:输入一个正整数求出它是几位数;输出原数和位数,对每一位进行排序由小到大输

作者&投稿:柞禄 (若有异议请与网页底部的电邮联系)
C++程序设计:输入一个正整数求出它是几位数;输出原数和位数~

循环取模运算就可以了啊
假设输入数是a
i = a%10
j = a/10
如果j等于0说明已经找到最高位,则结束循环
如果j不等于0,则说明找到当前最后一位i,继续循环 j不等于0的次数就是位数啊

count函数有错,改一下:
void count(char str[]){
int i;
for(i=0;str[i]!='\0';i++)
digit++;
}
就可以了。

#include <stdio.h>

int weishu(long n,int a[])

{int i=0;

 while(n)

 {

a[i++]=n%10;

n/=10;

 }

 return i;

}

void main (void)

{

 long n;   

 int k,i,j,t,a[20];

 scanf("%ld",&n);

 printf("原数:%ld
",n);

 k=weishu(n,a);

 printf("位数:%d
",k);

 for(i=0;i<k-1;i++)

for(j=0;j<k-1-i;j++)

if(a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

printf("从小到大:");

for(i=0;i<k;i++)

  printf("%d",a[i]);

printf("
从大到小:");

for(i=k-1;i>=0;i--)

  printf("%d",a[i]);

printf("
");

getch();

}



#include <stdio.h>
void out_put( int *a, int n)
{
int i;
printf("逆序: ");
for( i=0;i<n;i++ )
printf("%d", *(a+i) );
printf("
");
}
int main()
{
int i,n,x;
int a[20];
scanf("%d", &n );
x=n;
i=0;
while( x )
{
a[i++] = x%10 ;
x /= 10 ;
}
printf("原数:%d 位数:%d
", n, i );
out_put( a,i );
return 0;
}


这个题就是两个题目的组合!将数字逆置然后用数组储存数据排个序就完了!


c语言如何输入一个正整数N,再输入N个整数,按从小到大的顺序输出?_百度...
for(j=i+1;j<10;j++) { if (a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } printf("从小到大的顺序为:\\n"); for(i=0;i<10;i++) { printf("%8d",a[i]); } putchar('\\n'); } c语言作业:输入三个整数,要求按从小到大...

c语言,输入一个整数n和n个整数,输出这n个整数的最大值
include<stdio.h>int main(){int n,a,i,t;scanf("%d",&n);scanf("%d",&t); \/\/先读的第一个数要默认成最大的,不然,t的初值是不定的for(i=1;i<n;i++) \/\/循环中再读n-1个数{scanf("%d",&a);if(t

C语言作业求助,十分感谢
上面的程序首先会要求用户输入一个字符串,并将这个字符串存储到一个数组中。然后,程序会对该字符串中的每个字符进行检查.include <stdio.h> include <ctype.h> int main(){ char str[100];printf("请输入一个字符串:");scanf("%s", str);int count = 0; \/\/ 用来记录调整了多少个字符 ...

C语言作业编写一个程序输入学生分数,统计及格人数和算平均分
include<stdio.h>#include <stdlib.h>typedef struct list{ char number[10]; float mark;}COUNT;int main(){ COUNT aa[100]; int i; int count =0; float sum=0; for(i=1;i<=10;i++) { scanf("%s",aa[i].number); scanf("%g",&aa[i].mark)...

c语言编写程序;输入一个摄氏温度,要求输出华氏温度。公式为f=9\/5*c+...
程序如下:include <stdio.h> void main(){ float F,C;printf("请输入您需要转换的摄氏温度:");scanf("%f",&C);F = (C+32)*9\/5.0;printf("其对应的华氏温度为:%.2f \\n",F);}

C语言作业: 从键盘输入3个整数,按照从小到大的顺序输出
include<stdio.h> void main(){ int a,b,c,t;printf("请输入三个整数:a b c\\n");scanf("%d%d%d",&a,&b,&c);if(a>b){ t=a;a=b;b=t;} if(a>c){ t=a;a=c;c=t;} if(b>c){ t=b;b=c;c=t;} printf("排序后的三个整数为:%d,%d,%d\\n",a,b,c);} ...

c语言 作业 求助!!!
1、从键盘输入一个小于六位的正整数,判断它是几位数,并按照相反的顺序输出各位上的数字,如输入1234,输出为4321。include <stdio.h> void main(){ int a[6],i,j=0,b;scanf("%d",&b);for(i=0;i<6;i++){ a[i]=b%10;b\/=10;} for(i=0;i<6;i++){ if(a[i]!=0){ p...

c语言作业(´Д`) 编写一个程序 从键盘输入矩形的两条边长,计算该...
include<stdio.h>int main(void){ int a,b; int s ; scanf("%d%d",&a,&b); s = a*b; printf("s = a*b = %d\\n",s); return 0;}

一道c语言的作业,有以下一个函数,编写一个程序,输入x的值,输出y的值...
printf("请输入一个整数%d:",x);printf("最大值为:%d\\n",x);printf("最小值为:%d",z);上面这三句是什么意思?我不明白,根据你的题意,应该用多分支的if语句的格式,即:if(表达式1){语句序列1;} else if(表达式2){语句序列2;} ...else {语句序列n;} 代码如下:include "...

C语言作业: 输入三个字符串,输出最大的字符串
include "stdio.h"include "conio.h"int main(){ char string[20];char str[3][20];int i;for(i=0;i<3;i++)gets(str[i]);if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);else strcpy (string,str[1]);if(strcmp( str[2],string)>0)strcpy(string,str[2]);print...

七台河市18396926309: 简单的c语言题目:输入一个正整数,判断是奇数或偶数、负数或非负数. -
歹度硫酸: #include<stdio.h>int main(void) {int number,a;scanf("%d",&a);if(a%2==0)printf("偶数!");elseprintf("奇数!");if(a==0){printf("\n0既不是整数也不是负数"); goto ab;}if(a<a*10)printf("\n正整数");elseprintf("\n负整数");ab:return 0; }

七台河市18396926309: C语言题目. 给一个正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字 -
歹度硫酸: /* C语言题目. 给一个正整数,要求: ①求出它是几位数; ②分别打印出每一位数字; ③按逆序打印出各位数字 */ #include<stdio.h> void main(void) {int numCount(int);void printNumber(int);void printResNumber(int);int num;/******************...

七台河市18396926309: C语言题目. 给一个正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数是321,应输出123. -
歹度硫酸:[答案] #include#includeint main(){ char n[100] ; int len , i; scanf("...

七台河市18396926309: C语言: 输入一个正整数,求出它是几位数;输出原数和位数 -
歹度硫酸: #include <stdio.h> #include <stdlib.h> int main() {int i=1;long int num,num1;scanf("%ld",&num);num1=num;while(num/10){i++;num=num/10;}printf("number:%ld, width: %d\n",num1,i); system("pause"); return 0; }

七台河市18396926309: 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(); }

七台河市18396926309: 用c语言来写给一个不多于5位的正整数,要求:①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为321,应输出123. -
歹度硫酸:[答案] 说实话,其实我很不想写,分太少 #include long fun(long s) { int sum = 0; long fin = 0,flag = 0; int a[20] = ; for(int i =1; (s/i) != 0; i = i * 10) ++sum; int temp = i; for(int j = 0; j < sum; j++) { temp = temp / 10; a[j] = s / temp; s = s % temp; } for(int k = 0; ...

七台河市18396926309: c语言问题求助 求思路输入一个不多于5位数的正整数,要求:①求出它是几位数?②分别打印出每一位上的数字;③按逆序打印出该数字;④能够处理负数... -
歹度硫酸:[答案] #include "stdio.h" void main() { char str[100]; int i; gets(str); printf("长度为%d\n",strlen(str)); for(i=0;iprintf("%-2c",str[i]); printf("\n"); for(i=strlen(str)-1;i>=0;i--) printf("%c",str[i]); } 这个可以满足要求

七台河市18396926309: C语言 编写一个程序,输入一个正整数,求出它是几位数. -
歹度硫酸: main() {int a; int i,N; scanf("%d",&a); for(i=0;a;i++) a=a/10; N=i; printf("N=%d\n",N); }

七台河市18396926309: c语言问题,求大神解答!给一个不多于5位的正整数.①求出它是几位数.②分别输出每一位数字.③按逆序输出各位数字.例如原数位465,应输出5 6 4.... -
歹度硫酸:[答案] #include#include#includeint main(){int num,tmp,i,j;int n[5]={0};//用于存储num分解后的每位上的数字,由于num不超过5位,所以数组有5个单元就可以了 int *sq_ls_num;printf("请输入一个不多于5位的正整数: ");sc...

七台河市18396926309: 用C语言编程:输入一个正整数,输出如下式子之和:1+1/2+1/3+1/4+……+1/n -
歹度硫酸: int i,n; double sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum+=1./n; } printf("%lf\n",sum);

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网