今天给各位分享c语言输入n个数派大小的知识,其中也会对c语言怎么限制输入数的大小进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、c语言,如何比较从键盘输入的n(未知)个整数的大小?谢谢!2、C语言中请问,输入任意的n个数,实现从小到大排列的算法。3、c语言中n个数比大小,然后在从大或者从小输出该怎么写?4、在c语言中,怎样判断n个数的大小,并输出最大和最小值。5、C语言输入N个数,将其从小到大输出
c语言,如何比较从键盘输入的n(未知)个整数的大小?谢谢!
#includestdio.h
#define N 999
void main()
{
int a[N],t;
int i,j,n=0;
for(i=0;;i++)
{
scanf(“%d”,a[i]);
n++; //计算输入个数
if (getchar()==’\n’) break; //遇回车中断
}
for(j=1;jn;j++)
for(i=0;ij;i++)
if(a[i]a[j])
{
t=a[i];a[i]=a[j];a[j]=t;
}
printf(“排序后:\n”);
for(i=0;in;i++) printf(“%d “,a[i]);
printf(“\n”);
}
C语言中请问,输入任意的n个数,实现从小到大排列的算法。
定义一个较大的数组,如int a[1000]; //1000个足够了吧,不够可以再加
输入数据时,增加一个记数器,如:
int num,cnt=0;
while( scanf(“%d”,num ) == 1 )
{
a[cnt]=num ;
cnt++ ;
}
这样,你就知道输入多少个数了,然后,排序时,也就是知道排多少个数了。
c语言中n个数比大小,然后在从大或者从小输出该怎么写?
因n未知,所以得用动态数组完成。举例代码如下:
//#include “stdafx.h”//If the vc++6.0, with this line.
#include “stdio.h”
#include “stdlib.h”
#include “time.h”
int main(void){
int n,*p,i,j,k,l;
printf(“Input n(int n0)…\nn=”);
scanf(“%d”,n);
if((p=(int *)malloc(sizeof(int)*n))==NULL){
printf(“Application memory failure…\n”);
exit(0);
}
srand((unsigned)time(NULL));
for(i=0;in;p[i++]=rand()%1000);
printf(“Min to Max:\n”);
for(l=i=0;in;i++){
for(k=i,j=k+1;jn;j++)
if(p[k]p[j])
k=j;
if(i!=k){
j=p[k];
p[k]=p[i];
p[i]=j;
}
printf(++l%10 ? “%-4d” : “%-4d\n”,p[i]);
}
if(l%10) printf(“\n”);
printf(“Max to Min:\n”);
for(l=0,i=n-1;i=0;printf(++l%10 ? “%-4d” : “%-4d\n”,p[i–]));
free(p);
if(l%10) printf(“\n”);
return 0;
}
在c语言中,怎样判断n个数的大小,并输出最大和最小值。
int a[10]={0},maxa=0,mina=0
for (j=0;j10;j++)
{
scanf(“%d”,a[i]);
if (j==0)
{
maxa=mina=a[i];
}else
{
if (maxaa[i])
{
maxa= a[i];
}
if (minaa[i])
{
mina= a[i];
}
}
}
这个你能看懂吗
假设 我声明了一个数组,然后声明了两个变量保存最大最小数
我输入1
这时 a[0] = 1 ,然后同时把a[0]的值 1 赋值给 最大最小值
输入2 最大值与a[1]对比,最大值小于a[1],则把a[1]的值给最大值
最小值也是一个道理
C语言输入N个数,将其从小到大输出
说实在的,程序写的确实比较差。
改这个程序比较麻烦,我猜测的你的原意
#includestdio.h
void main()
{
int a[4],b[4];
int i,j,n,sum;
for(n=0;n=3;n++)scanf(“%d”,a[n]);
for(i=0;i=3;i++){
sum=(a[i]a[0])+(a[i]a[1])+(a[i]a[2])+(a[i]a[3]);
if(sum==3)b[3]=a[i];
else if(sum==2)b[2]=a[i];
else if(sum==1)b[1]=a[i];
else b[0]=a[i];
}
for(j=0;j=3;j++)
printf(“%d\n”,b[j]);
}
不过问题比较多:
1、第二个for丢失了大括号(建议无论是否需要都先打上,以防忘记)
2、
if(sum=3)a[3]=a[i];
else if(sum=2)a[2]=a[i];
else if(sum=1)a[1]=a[i];
else a[0]=a[i];
这个sum=3等应当写成sum==3
而且就这个,直接a[sum]=a[i]不是一样吗?
3、你要是修改了a[i]的值后面就错了,所以我给你添了b[4]
4、你没有考虑可以存在两个数或者多个数相同的情况。
5、你这个选择排序只是有个思路,距离编成程序还远
关于c语言输入n个数派大小和c语言怎么限制输入数的大小的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。