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...
歹度硫酸: #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
七台河市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
七台河市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);