c语言中,输入一串数字,输出其组合最大值.如输入1,2,3,4,如何输出其最大值4321.

作者&投稿:褚钱 (若有异议请与网页底部的电邮联系)
编写一个c语言程序,输入三个整数,输出它们的最大值?~

1. #include //这是c语言的一个标准库,包含它才能用函数2. int main() //这是主函数,c语言的工程都是由大小的函数组成的,主函数是系 统运行的第 //一个函数3. int a,b,c;int max;printf("请输入三个数,空格区分各数:");sscanf("%d %d %d", &a,&b,&c); //格式化输入,记得abc 要取地址&4. max = b;if(a > b){ //a如果大,最大值是amax = a;}if(max < c){max = c;}printf("最大值是:%d
", max); //输出最大值return 0;}
c语言根据非计算机专业计算机基础课程教学指导分委员会提出的"关于进一步加强高等学校计算机基础教学的意见"(简称白皮书)中"高等学校非计算机专业计算机基础课程教学基本要求"部分的C程序设计课程大纲编写而成。
全书共分10章,系统地介绍了程序设计基本概念,C语言的各种数据类型、运算符与表达式、模块化程序设计方法、流程控制结构和文件系统的基本操作,对面向对象编程基础也进行了初步阐述。


int main()                            //主函数
{char s[100];                         //定义一个足够大的数组用于存数字
 int a,n=0,                           //n是数字个数,a是组合出来的最大数
     i,j;                             //i,j为循环变量
 gets(s);                             //接受一个字符串
 printf("输入的字符串为:%s
",s);     //输出字符串
 while(s[n++]);n--;                   //求出s字符串的长
 for(i=0;i<n;i++)                     //用冒泡法对s字符串排序
     for(j=0;j<n-i-1;j++)
         if(s[j]<s[j+1])              //如果发现前一个数比后一个数小 
           {a=s[j];                   //将这两个数对调 
            s[j]=s[j+1];              //这样可以实现数组的降序排列
            s[j+1]=a;}
 a=0;                                 //把a归零
 for(i=0;i<n;i++)                     //用循环把数算出来
    {if(s[i]>='0'&&s[i]<='9')         //如果数组中的字符是数字
        a=a*10+s[i]-'0';}             //累加出a的值
 printf("可以组成的最大数是:%d
",a); //输出结果
 system("PAUSE");                     //暂停
 return 0;}                           //结束



其实是利用十进制来做,如4321可写成,4×10的3三次方加3乘以10的二次方加2乘以10的1次方加上1.即可的到结果,因为你只需改变4321的顺序,然后按照上述的方法计算,然后赋值给一个变量,输出变量即可。


c语言中,输入一组数如:12345678,从数尾开始,每三位插入一个逗号。
m=i%3; \/\/前面剩下的数的个数 k=i\/3; \/\/逗号的个数 for(j=0;j<=m;j++)b[j]=array[j];b[m]=','; \/\/这段先将前面的那几个数放在中转数组b[]中 for(j=m+1,n=m;j

C语言编写:输入任意一串字符串,统计该字符串中出现的字符a的个数,并输...
在C语言中,你可以使用以下代码来实现输入任意一串字符串并统计其中字符 'a' 出现的次数。以下是一个详细的步骤和代码片段:首先,我们需要定义一个函数来完成这个任务。以下是一个简单的示例:c include include void count_a_in_string(char *str) { int count = 0;for (int i = 0; i < ...

C语言中输入一串以空格分隔的整型数据,怎么办?
%o\\n",oct);printf("Octal2: %#o\\n",oct);4、十六进制输出同八进制一样,利用 x 或 #x 可以输出控制十六进制格式数字,如下所示:int hexi = 234;printf("Hexidecimal1: %x\\n",hexi);printf("Hexidecimal2: %#x\\n",hexi);5、 字符串输出,在C语言中输出字符串可以使用s控制即可。

C语言中,以命令行输入一组数字,并以从小到大排序输出!
楼上的都没明白楼主的意思。O(∩_∩)O~include<stdio.h> include <math.h> define N 10 void main(){ char a[5];int i,n,temp;int num1[N],num2[N];printf("请输入要输入的数字个数:");scanf("%d",&n);for(i=0;i<n;i++){ scanf("%s",a);num1[i]=atoi(a);} for...

C语言中 scanf("%d",&a[j][k]); 要输入一串数字 该怎么输入?
如上例中若规定只能输入10字符给字符串指针p,则第一条scanf() 函数语句变为:scanf("%10s", p);程序运行时一旦输入字符个数大于10,p就不再继续读入,而后面的一个读入函数即scanf("%s", str)就会从第11个字符开始读入。(3) scanf()函数中没有精度控制。如: scanf("%5.2f",&a); ...

C语言,输入一串数字,比如308004,我先要比较中间两个数字80,然后比较中 ...
1、从中间开始比较,如果是奇数呢?2、数据规模是多大,如果超过了int的范围,应用char a[200]形式来表示。3、解决了前二个问题,用一个循环就可以解决了。

c语言编程,输入一串字符,统计其中字符个数、数字个数、空格个数与其他...
include<stdio.h>#include<string.h>main(){ char a[1000]; int i,l,m1,m2,m3,m4; while(1){ gets(a); m1=0;m2=0;m3=0;m4=0; l=strlen(a); for(i=0;i<l;i++){ if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) m1++;...

C语言,目的:输入一串数字,用空格隔开,然后赋值给数组
='\\n'){ if (c==' ') { a[space] = temp ; space++; temp = 0 ; flag = 0 ; } else { flag = 1 ; temp = temp*10 + (c-48) ; \/\/ 将字符数字C转换为实际数字C }}if(flag) \/\/如果回车键之前为非空格,则该数也要存入数组{...

c语言输入一串字符串,统计并输出其中的大写字母、小写字母、数字字符...
在C语言中,编写一个程序可以统计并输出给定字符串中的大写字母、小写字母、数字字符和其他字符的数量。程序使用指针遍历字符串,通过条件判断来区分各类字符。以下是该程序的示例代码:include<stdio.h>voidmain(){chara[100];intsum0=0,suma=0,sumA=0;gets(a);char*p;for(p=a;*p!='\\0';p++)...

C语言输入一串字符串从第n个字符开始截取m个字符组成一个新的字符串输 ...
1、我们编辑如图中输入的代码。2、进入源文件的目录下,在终端输入命令gcc -o t test.cpp。3、输入.\/t命令,运行生成的可执行文件。4、运行结果为baidu。5、strncpy 的函数原型char *strncpy(char *dest,char *src,size_t n),我们在复制src的前n个字符到dst中。6、如果超过src的字符串长度,...

河东区19367307429: ★★★C语言 输出组合数字
滑恒肥儿: 方法1:按格式输出 ,因为a和b都小于10所以可以printf控制直接输出. printf("%d%d\n",a,b); 方法2:相加法 temp=10*a+b; 结果有规律,N={12-99 且 N%10!=1} 其实一重循环就可搞定 ----------------------------------------------------------------------------...

河东区19367307429: c语言中不用循环语句直接输入一串数字再原样输出怎么弄 -
滑恒肥儿: int number; prinrf("请输入一串数字:"); scanf("%d",&number); prinrf("你输入的数字为:"); prinrf(number);

河东区19367307429: 用C语言 编写程序输入一个整数,输出从1到这个整数的所有排列组合. 样例一: 输入:3 -
滑恒肥儿: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34#include <stdio.h> ints[1000]; voidf(inta[],intlen,intn) {if(!n){for(inti=0;i<len-1;i++){printf("%d ",s[i]);}printf("%d\n",s[len-1]);}for(inti=0;i<len;...

河东区19367307429: C语言中如何实现输入输出多组数据,该如何结束输入 -
滑恒肥儿: c语言中实现多组数据输入输出主要有两种方式: 1.首先输入一个n,表示将有n个输入输出,例如: #include int main() { int n,a; scanf("%d",&n); while(n--){ scanf("%d",&a); printf("输出:%d\n",a); } return 0; } /* 运行结果: 3 255 输出...

河东区19367307429: 超级菜鸟求教,如何C语言中用数组输出你输入的一串数字? -
滑恒肥儿: 可以把第二个例子当作需求,稍加改输入输出函数和参数即可http://blog.csdn.net/xianfajushi/article/details/27975567

河东区19367307429: C语言打印一窜数字的所有组合 -
滑恒肥儿: 1.楼主的数太多了,我的机器有点落伍,显示的时间有点漫长~~~~,我把数改成了1,2,3,3,4,7,7.显示上也简单点,原理是一样的...另外不是很清楚楼主的所有组合是不是包括取出一部分字符串做排列组合,我弄的是所有 数字用上的全排列...

河东区19367307429: C语言,如何将一个个输入的数字变成一串数字一起输出来,求解~ -
滑恒肥儿: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17#include<stdio.h>intmain(void) {charc;longnum = 0; while((c = getchar()) != '\n'){duif(c >= '0'&& c <= '9'){num = num * 10 + (c - '0');}} printf("num = %d\n", num); } 代码比较简单,就不写注释了,相信你能看懂.希望对你有所帮助.

河东区19367307429: C语言中,以命令行输入一组数字,并以从小到大排序输出! -
滑恒肥儿: 楼上的都没明白楼主的意思.O(∩_∩)O~ #include<stdio.h> #include <math.h> #define N 10 void main() {char a[5];int i,n,temp;int num1[N],num2[N];printf("请输入要输入的数字个数:");scanf("%d",&n);for(i=0;i<n;i++){scanf("%...

河东区19367307429: 输入几个数,输出所有组合结果.c语言实现 -
滑恒肥儿: 典型的组合问题,解法有递归、回溯等等 递归法较简单,代码如下:void combine(int a[], int n, int m, int b[], int m); 参数:a 存放候选数字 n 总项数 m 取出项数 b 存放选出结果 m = m#include "stdio.h"#define max 100 void combine(int a[], ...

河东区19367307429: C语言:输入一串字符,输出所有数字及数字的个数,并求出所有输入数字之和,以连续两个EE作为输入的结尾 -
滑恒肥儿: #include<stdio.h> #include<string.h> void main() {char s[50];int i,count1=0,count2=0,sum=0;for(i=0;scanf("%c",&s[i])&&s[i]!='\n';i++,count1++);printf("所有数字:");for(i=0;i<count1;i++){if(s[i]>='0'&&s[i]<='9'){sum+=s[i]-'0';printf("...

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