.从键盘输入一个整数N(N>=0),然后再输入N个整数,c语言随机整数程序 不对啊

您还未登陆,请登录后操作!
C语言能人请进
写一个程序,要求输入N个整数,按从小到大的顺序输出,就说说思路。如果N=4,写个具体的程序。
定义个足够大的数组,把输入的N个整数作为数组的前N个元素。
先用基本的算法把这个数组的前N个数排序,然后按排好的顺序输出这前N个数就行了。
#include "stdio.h"
#define MAX 100
void main()
int n,num[MAX],i,j,k;
printf("N:");
scanf("%d",&n);
for(i=0;i&n;i++)
printf("Num%d:",i+1);
scanf("%d",&num[i]);
for(i=0;i&n-1;i++)
for(j=0;j&n-1-i;j++)
if(num[j]&num[j+1])
num[j]=num[j+1];
num[j+1]=k;
printf("\nResult:\n");
for(i=0;i&n;i++)
定义个足够大的数组,把输入的N个整数作为数组的前N个元素。
先用基本的算法把这个数组的前N个数排序,然后按排好的顺序输出这前N个数就行了。
#include "stdio.h"
#define MAX 100
void main()
int n,num[MAX],i,j,k;
printf("N:");
scanf("%d",&n);
for(i=0;i&n;i++)
printf("Num%d:",i+1);
scanf("%d",&num[i]);
for(i=0;i&n-1;i++)
for(j=0;j&n-1-i;j++)
if(num[j]&num[j+1])
num[j]=num[j+1];
num[j+1]=k;
printf("\nResult:\n");
for(i=0;i&n;i++)
printf("%d\n",num[i]);
printf("\n\n");
,第一种算法(就是用枚举加if条件)适用于整数数目较小的时候,数目多的话逻辑上会很麻烦,但效率高于第二种.第二种是选择排序,算法虽然有点复杂,但当整数数目多时(如100个时,这时你用第1种算法写到猴年马月也写不完,而此时第二种方法无论是逻辑还是算法都十分简单了),十分实用.算法1:#include&iostream.h&voidmain(){cout&&&请输入4个数字&&&inta,b,c,d;cin&&a&&b&&c&&d;if(a&=b){a+=b;b=a-b;a-=b;}//按由大到小方式理想排序为a,bif(a&=c){a+=c;c=a-c;a-=c;}//按由大到小方式理想排序为a,c,belse{if(c&=b){c+=b;b=c-b;c-=b;}}//按由大到小方式理想排序为a,c,bif(a&=d){a+=d;d=a-d;a-=d;}//按由大到小方式理想排序为a,d,c,b//d如在a与c之间则自动省略,不比较/*比较d的值与c,c,此时a最大,d在b,c间*/else{if(d&=c&&d&=b){d+=c;c=d-c;d-=c;go
呵呵,我想了两种,第一种算法(就是用枚举加if条件)适用于整数数目较小的时候,数目多的话逻辑上会很麻烦,但效率高于第二种.第二种是选择排序,算法虽然有点复杂,但当整数数目多时(如100个时,这时你用第1种算法写到猴年马月也写不完,而此时第二种方法无论是逻辑还是算法都十分简单了),十分实用.算法1:#include&iostream.h&voidmain(){cout&&&请输入4个数字&&&inta,b,c,d;cin&&a&&b&&c&&d;if(a&=b){a+=b;b=a-b;a-=b;}//按由大到小方式理想排序为a,bif(a&=c){a+=c;c=a-c;a-=c;}//按由大到小方式理想排序为a,c,belse{if(c&=b){c+=b;b=c-b;c-=b;}}//按由大到小方式理想排序为a,c,bif(a&=d){a+=d;d=a-d;a-=d;}//按由大到小方式理想排序为a,d,c,b//d如在a与c之间则自动省略,不比较/*比较d的值与c,c,此时a最大,d在b,c间*/else{if(d&=c&&d&=b){d+=c;c=d-c;d-=c;}//下面d小于bif(d&=b){d+=b;b=d-b;d-=b;}} &&endl&&&数据排列为&&&&&&&a&&&&&&d&&&&&&c&&&&&&b&&}算法2:#include&iostream.h&//首先键入要输入的整数个数,按回车结束,然后输入你想排序的整数,就能得到结果了voidinput(intn,inta[10]){for(inti=0;i&n;i++)cin&&a[i];}voidpaixu(intn,inta[10]){inttemp,for(inti=0;i&n-1;i++){flag=i;temp=a[i];for(intj=i+1;j&n;j++){if(a[j]&temp){temp=a[j];flag=j;}}temp=a[i];a[i]=a[flag];a[flag]=}}voidoutput(intn,inta[10]){for(inti=0;i&n;i++)cout&&a[i]&&}voidmain(){intn,a[10];cin&&n;input(n,a);paixu(n,a);output(n,a);}
您的举报已经提交成功,我们将尽快处理,谢谢!
大家还关注
if(!(a+b>c)||!(a+c>b)||!(b+c>a))cout<<"不构成3角形";
cout<<"此3角形是";
if(a==b||a==c)cout<<"等边";
if((a==b)||(a==c)||(b==c)){
cout<<"等腰";
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))cout<<直角;
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))cout<<直角;
cout<一个输入3角形3边长并判断是什么3角形的...
double data[size];
cout>>"请输入具体数据";
for(i=0;i>data[i];
for(i=0;i<size-1;i++){
for(int m=1;m<i;m++)if(data[m]data[i]){
int k=data[j];
data[j]=data[i];
data[i]=k;
for(i=0;i<i++)cout<一个选择排序的程序,帮我看看有什么错误,...
<a href="/b/8160409.html" target="_blank" title="看一下这个程序(求100以内的质数),怎么简化一下算法 这是个求N以内的质数的程序(可以通过改变size值来改变求值范围,但最好在100万以内,否则会死机).程序虽然不长,但在第2个for循环中有大量的重复操作,十分影响效率.如在第一次i=3时会将所有的数组下标为3的倍数赋予false(如12),但当i=4时,还会将p[12]赋予false,这样的重复赋值十分影响效率,尤其是在求一个很大范围内的质数时,速度会很慢,谁能帮我简化一下算法.
#define size 100
void main (){
bool p[size];
cout<<size<<"以内的质数有"<<endl<<2;
for(i=3;i<i++)
for(i=3;i<i++)
cout<<" "<<i;
for(int j=i+i+i;j<j+=i+i)
cout<看一下这个程序(求100以内的质数),怎...c语言程序设计:数组:输入一个正整数n,再输入n个正整数并从大到小排序输出。_百度知道
c语言程序设计:数组:输入一个正整数n,再输入n个正整数并从大到小排序输出。
提问者采纳
C语言书上应该有这样的例子的。原理其实很简单,就是将每个数依次比较,就输出来,每次取最大的数,全部比较完成,然后再比较剩下的采用冒泡法
提问者评价
原来数组定义一个很大的就行了啊,多谢了!
其他类似问题
为您推荐:
c语言程序设计的相关知识
其他1条回答
qsort(a,a[],&a[i]);*(int*)b;n;,cmp);i&%d&i&%d&
return 0?1;i++)
scanf(&quot:-1;
for(int i=0,sizeof(a[0]);int n,const void* b){
return *(int*)a&%d &}int main(){
scanf(&n;;int cmp(const void* a!;;
for(int i=0;i++)
printf(&quot,a[i])#include&#include&lt.h&%d&quot,&n),&n),n;} 可以直接调用快排.h&gt
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言 输入一个自然数n,求 ,同时统计结果中有多少个0。 - 下载频道
- CSDN.NET
&&&&C语言 输入一个自然数n,求 ,同时统计结果中有多少个0。
C语言 输入一个自然数n,求 ,同时统计结果中有多少个0。
输入一个自然数n,求 ,同时统计结果中有多少个0。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
课程资源下载排行共有 859 人关注过本帖
标题:输入一个数n,判断n!这个数末尾0的个数???不知道错哪里了
等 级:业余侠客
帖 子:116
专家分:226
结帖率:69.57%
&&已结贴√
&&问题点数:3&&回复次数:18&&&
输入一个数n,判断n!这个数末尾0的个数???不知道错哪里了
#include&stdio.h&
int mian()
&&& int n,a,b,c,d,j,t;
&&&&&&&&scanf(&%d&,&n);
&&&&&&&&if(n==0)
&&&&&&&&&&&&printf(&0&);
&&&&&&&&if(n&0)
&&&&&&&&&&&&t=0;
&&&&&&&&&&&&for(j=1;j&=n;j++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& a=j%5;
&&&&&&&&&&&&&&& b=j%25;
&&&&&&&&&&&&&&& c=j%125;
&&&&&&&&&&&&&&& d=j%625;
&&&&&&&&&&&&&&& if(a==0)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&if(b!=0&&c!=0&&d!=0)
&&&&&&&&&&&&&&&&&&&&&&&&t=t+1;
&&&&&&&&&&&&&&&&&&&&if(b==0&&c!=0&&d!=0)
&&&&&&&&&&&&&&&&&&&&&&&&t=t+2;
&&&&&&&&&&&&&&&&&&&&if(b==0&&c==0&&d!=0)
&&&&&&&&&&&&&&&&&&&&&&&&t=t+3;
&&&&&&&&&&&&&&&&&&&&if(a==0&&b==0&&c==0&&d==0)
&&&&&&&&&&&&&&&&&&&&&&&&t=t+4;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&}
&&&&&&&&&&&&printf(&%d\n&,t);
&&& return 0;
搜索更多相关主题的帖子:
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
int mian() //拼写错误应为:
int main ()
善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
没看懂这段代码的意思.
来 自:中国
等 级:职业侠客
帖 子:179
专家分:323
不理解你题目中“这个数末尾0的个数”
来 自:北京
等 级:贵宾
威 望:94
帖 子:6779
专家分:16751
以下是引用weiwei555在 13:37:31的发言:
不理解你题目中“这个数末尾0的个数”
意思就是说,比如 5! = 120,“末尾 0 的个数”就是 1 个。120 末尾只有一个 0,这个意思应该懂吧。
来 自:四川
等 级:新手上路
帖 子:22
楼主的程序看的纠结。0!=1,阶乘用递归算就行了吧,判断末尾是不是0只需要判断n!%10是不是等于0就行了
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
以下是引用pangding在 15:03:01的发言:
意思就是说,比如 5! = 120,“末尾 0 的个数”就是 1 个。120 末尾只有一个 0,这个意思应该懂吧。
哦, 原来是这个意思!
善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
等 级:小飞侠
帖 子:765
专家分:2103
有这么复杂吗?直接n/5,然后等差数列求和,5的个数就是0的个数
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
把程序写清楚一些&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
===========深入&-----------------&浅出============
等 级:业余侠客
帖 子:116
专家分:226
回复 楼主 jj369258
#include&stdio.h&
int main()
&&& int n,a,b,c,d,i,t=0;
&&& scanf(&%d&,&n);
&&& if(n==0)
&&&&&&&&printf(&0\n&);
&&& if(n&0)
&&&&&&&&for(i=1;i&=n;i++)
&&&&&&&&&&&&a=i%5;
&&&&&&&&&&&&b=i%25;
&&&&&&&&&&&&c=i%125;
&&&&&&&&&&&&d=i%625;
&&&&&&&&&&&&if(a==0&&b!=0&&c!=0&&d!=0)
&&&&&&&&&&&&&&& t=t+1;
&&&&&&&&&&&&if(a==0&&b==0&&c!=0&&d!=0)
&&&&&&&&&&&&&&& t=t+2;
&&&&&&&&&&&&if(a==0&&b==0&&c==0&&d!=0)
&&&&&&&&&&&&&&& t=t+3;&&&
&&&&&&&&&&&&if(a==0&&b==0&&c==0&&d==0)
&&&&&&&&&&&&&&& t=t+4;
&&&&&&&&printf(&%d\n&,t);
&&& return 0;
&&&&&&&&&&&&
版权所有,并保留所有权利。
Powered by , Processed in 0.023966 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved}

我要回帖

更多关于 c语言随机整数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信