1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > c语言输入10个数从小 C语言中 从键盘输入10个数 从小到大排列输出 怎

c语言输入10个数从小 C语言中 从键盘输入10个数 从小到大排列输出 怎

时间:2020-05-11 08:23:57

相关推荐

c语言输入10个数从小 C语言中 从键盘输入10个数 从小到大排列输出 怎

公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。

话题:C语言中,从键盘输入10个数,从小到大排列输出,怎么写啊,最好注回答:#includestdio.h void swap(int *a,int *b) { int tmp; tmp = *a; *a = *b; *b = tmp; } void bubblesort(int k[],int n) { /*冒泡排序*/ int i,j,temp; int cont = 0; for(i=0;in-1;i++) 控制每趟往前推一个,即少比较一次 { flag = 0; 加上flag for(j=0;jn-i-1;j++) 从第一个开始,不断与相邻的值比较,并最值,一直推到最后,形如冒泡 { cont++; if(k[j]k[j+1]) { temp = k[j]; k[j] = k[j+1]; k[j+1] = temp; } } } } int main() { int i,a[10] = {0}; printf("请输入10个数字\n"); for(i = 0; i10; i++) { scanf("%d",a[i]); } printf("The data array is\n") ; for(i=0;i10;i++) /*显示原序列之中的元素*/ printf("%d ",a[i]); bubblesort(a,10); /*执行冒泡排序*/ printf("\nThe result of bubble sorting for the array is\n"); for(i=0;i10;i++) printf("%d ",a[i]); /*输出排序后的结果*/ printf("\n"); return 0; }亲测

参考回答:#include stdio.h #define N 10 main() { int i,j;/*i,j为循环变量*/ long a[N],temp,min; /*a[min]为比较时较小的数*/ printf("请依次输入%d个数。\n",N); /*进行循环输入这十个数*/ for(i=0;iN;i ) scanf("%ld",a[i]); printf("你输入的%d个数是\n",N); /*进行循环输出这十个数*/ for(i=0;iN;i ) printf("%ld ",a[i]); printf("\n"); /*利用选择法,即从后个比较过程中,选择一个最小的与第一个 元素,下次类推,即用第二个元素与后个进行比较,并进行。*/ for(i=0;iN-1;i ) { min=i; for(j=i 1;jN;j ) if(a[j]a[min]) { temp=a[j]; a[j]=a[min]; a[min]=temp; } } printf("这%d个数从大到小排列为\n",N); /*打印出这十个经排列后的数*/ for(i=0;iN;i ) printf("%d ",a[i]); printf("\n"); } 排序的方法还有标记和冒泡法,具体的你自己去搜吧。话题:用C语言编程:输入5个数,按从小到大顺序输出!?回答:#includelt;stdio.hgt;void main(){int a[5];int i,j,t;printf("请输入5个数:");for(i=0;ilt;5;i++)scanf("%d",a[i]);printf("\n");for(j=0;jlt;4;j++) 进行4次循环,实现4趟比较for(i=0;ilt;4-j;i++) 在每一趟比较中进行4-1次比较if(a[i]gt;a[i+1]) 相邻两个数比较{t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("排序后的数据为:");for(i=0;ilt;5;i++)printf("%d ",a[i]);printf("\n");}程序结果为:img class=ed_capture src=": pic.wenwen.soso./p/2001106/20011061512-4336111.jpg"原理是:img class=ed_capture src=": pic.wenwen.soso./p/2001106/20011061514-1504061.jpg"

参考回答:排序有很多种,不止是你现在学的,但是要全都给你讲清楚的话,需要很多的版面和时间所以我给你些,你去看看吧: .yuanma./data/200/0421/article_3011 : hi.baidu./copyrabbit/blog/item/e43bad0b3cb130c11 : hi.baidu./sibeichen055/blog/item/064f23dd55d2eb6c63a话题:用c语言输入10个数,要求从小到大到做输出!回答:#include stdio.h void main() { int i,j;t; int a[20]; printf("请输入10个数字,以回车键间隔开\n"); for(i=0;i10;i++) scanf("%d",a[i]); for( i=0; in-1; i++) { for( j = 0; jn-i-1; j++) if( a[j]a[j+1] ) { t = a[j]; a[j] = a[j+1]; a[j+1] = t; } } printf("排序好的数字如下:\n"); for(i=0;i10;i++) printf("%d",a[i]); } (以上为冒泡法的标准用法,正好我今天也在复~) 好了,理论上没什么问题了。可能会掉一点分号啊什么的,你自己加上吧。

参考回答:#include stdio.h void main() { int i,j,temp; int a[10]; for(i=0;i10;i++) scanf ("%d,",a[i]); for(j=0;j=;j++) { for (i=0;i-j;i++) if (a[i]a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp;} } for(i=0;i10;i++) printf("%5d,",a[i] ); printf("\n"); }话题:C语言 输入10个数,输出其中最大的一个数回答:Linux基础知识学 C语言作业:输入10个整数,输出其中最大的数 img src="s: pic.wenwen.soso./p/016/01616352-132166_png_5_426_3641.jpg"/img src="s: pic.wenwen.soso./p/016/01616353-_png_600_30_125351.jpg"/拓展数组中的元素与结构或类中的字段的别数组中的所有元素都具有相同类型(这一点和结构或类中的字段不同,它们可以是不同类型)。数组中的元素存储在一个连续的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。类型数组元素并非只能是基元数据类型,还可以是结构、枚举或类。

参考回答:#include int main() {int tmp, max, i;scanf("%d", max); 先输入一个数,先初始定为最大值for(i=0; i{scanf("%d", tmp); if(tmp max) 如果输入的数比原来的max大,则用tmp替换原来的maxmax = tmp;}printf("%d", max);return 0;}直接在这里打的,没编译过,有错请追问话题:简单C语言程序设计。要求输入1则从小到大排序输出,输入2则从大到回答:楼主你好! 根据你的要求,我已经将码实现如下,望采纳! #includestdio.h int main(){ int i,n; int a[3]; printf("请输入三个整数,以空格隔开:"); scanf("%d%d%d",a[0],a[1],a[2]); printf("\n输入1选择从小到

参考回答:展开全部 楼主你好! 根据你的要求,我已经将码实现如下,望采纳! #includestdio.h int main(){ int i,n; int a[3]; printf("请输入三个整数,以空格隔开:"); scanf("%d%d%d",a[0],a[1],a[2]); printf("\n输入1选择从小到大排序,输入2选择从大到小排序:"); fflush(stdin); scanf("%d",n); if(n==1){ for(i=0;i3;i++) for(int j=0;j2-i;j++){ int temp; if(a[j]a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } printf("\n从小到大的排序结果:"); for(i=0;i3;i++) printf("%d ",a[i]); } else if(n==2){ for(i=0;i3;i++) for(int j=0;j2-i;j++){ int temp; if(a[j]a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } printf("\n从大到小的排序结果:"); for(i=0;i3;i++) printf("%d ",a[i]); } else printf("\n输入错误!\n"); return 0;}话题:c语言题库有10个数已按由小到大的顺序存放在一个整型数组中,从回答:case 6:(head,head1)=delcre(head,head1);break; 没这么用的! c语言定,一个函数只能有一个返回值! 如果想返回多个值数据,必须通过参数来实现: 主函数中: delcre(amp;head,amp;head1); 传变量的,通过函数,直接改变中的内容 函数: void delcre(employee * *head,employee ** head1) { 所有的head,head1换成(*head) (*head1)就好了,请LZ试试 关于程序逻辑,请LZ自行话题:c语言问题 题目要求输入10元素数组 并按从小到大顺序输出,然后输回答:题目要求是入原有序列,并且存储在数组中所以在要入的位置之后所有的元素都要后移一个位置——不能前移,因为已经到0了你的错误在for循环内部一直比较a[i]和a[i+1],没刚读入的a[]什么事,一直到i=了才会涉及到a[],不过也就了和的位置而已,根本不算入以下程序可以正确编译运行voidmain(){inta[10]={0,1,3,4,5,6,,,};inti,t;intfound=0; 是否已经入的标志位scanf("%d",a[]);t=a[];for(i=0;it!found) 判断是否为入位置{t=a[i]; 入数据并设置标志位a[i]=a[];found=1;}elseif(found) 已经入,之后数据全部后移1格{a[]=a[i];a[i]=t;t=a[];}}for(i=0;i10;i++)printf("%5d",a[i]);printf("\n");}话题:简单C语言题,输入10个数,然后从小到大输出,错在哪里?谢谢回答:改后的程序,你试试#include "stdio.h"#define n 10main(){int a[n],i,j,p;for(i=0;in;i++){printf("a[%d]=",i);scanf("%d",a[i]);}for(i=0;in-1;i++)for(j=i+1;jn;j++){if(a[i]a[j]){p=a[i];a[i]=a[j];a[j]=p;}}for(i=0;in;

参考回答:展开全部 改后的程序,你试试#include "stdio.h"#define n 10main(){int a[n],i,j,p;for(i=0;in;i++){printf("a[%d]=",i);scanf("%d",a[i]);}for(i=0;in-1;i++)for(j=i+1;jn;j++){if(a[i]a[j]){p=a[i];a[i]=a[j];a[j]=p;}}for(i=0;in;i++)printf("a[%d]=%d\n",i,a[i]);}循环比较时第一次可以用第一个数(i=0)和后面的个数(j=0+1到)比较;第二次用第二个数(i=1)和后面的个数(j=1+1到)比较。。。。。以此类推然后输出的时候不要想在比较的同时进行了。最好在比较完后再单独用循环输出话题:用C语言写:有10个数由大到小顺序存放在一个数组中,输入一个数,回答:#include stdio.hint main(){int a[10]={6,3,35,25,21,1,1,15,12,11}; /*已排好的数值*/int left,right,mid,i,n,flag=1; /*令flag=1,以便后续判断*/printf("input number:\n");scanf("%d",n); /*输入要查找的数*/left=0;right=; /*分别使left,right等于0和数度-1*/while(left=right){mid=(left+right)/2; /*mid取每次left和right的中间值*/if(na[mid])right=mid-1; /*让输入的数字与中间值对比,如果大于中间值,则最右端变为中间值前一位的数*/else if(na[mid])left=mid+1; /*如果小于中间值,则最左端变为中间值后一位的数*/else {i=mid;flag=0;break;}; /*如果n不大于且不小于a中的数,一种可能是n=a中的一个数,另一种可能是n不在数组中,后者情况下不经过此步骤,flag仍=1*/}if(!flag) /*判断并输出*/printf("%d",i+1);else printf("there is no such number.\n");return 0;}

参考回答:#includelt;stdio.hgt;int main(){int x,a[10]={,,,6,5,4,3,2,1,0};int start=0,end=,mid=(start+end)/2;printf("请输入您要查找的数字:");scanf("%d",amp;x);while(startlt;=end){if(a[mid]lt;x){end=mid;}else if(a[mid]gt;x){start=mid;}elsebreak;}if(midgt;=0)printf("%d是数组中的第%d个元素\n",x,mid);elseprintf("该数组中没有%d这个元素\n",x);return 0;}话题:C语言 从键盘随机输入10个整数,将他们从小到大排序后输出回答:你这样做复杂了,用冒泡排序就可以实现。int a[10]; int i, j, temp; 输入10个整型数据 printf("Please input ten numbers: \n"); for (i = 0; i 10; i++) scanf("%d", a[i]); 排序 for (i = 0; i ; i++) 10个数,1

参考回答:展开全部 你这样做复杂了,用冒泡排序就可以实现。int a[10]; int i, j, temp; 输入10个整型数据 printf("Please input ten numbers: \n"); for (i = 0; i 10; i++) scanf("%d", a[i]); 排序 for (i = 0; i ; i++) 10个数,10 - 1轮冒泡,每一轮都将当前最大的数推到最后 { for (j = 0; j - i; j++) - i,意思是每当经过一轮冒泡后,就减少一次比较 if (a[j] a[j+1]) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } 打印排序结果 for (i = 0; i 10; i++) printf("%d\n", a[i]); return 0;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。