当前位置:首页 » 编程语言 » C语言一堆数只想输出20个
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

C语言一堆数只想输出20个

发布时间: 2022-04-24 00:17:00

⑴ 一个c语言数组输出个数问题

楼上的说的很好,只是有点错误:
定义到main函数之外为全局变量,并不是存放在堆区,而是放在全局区。
一个由c/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)—
由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap)

一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。
3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,
未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。
-
程序结束后有系统释放
4、文字常量区

常量字符串就是放在这里的。程序结束后由系统释放
5、程序代码区—
存放函数体的二进制代码。
定义到main函数之内为局部变量,存放在栈区;定义到main函数之外为全局变量,存放在全局区。对于一个程序而言,栈区大小是由系统分配的,如果变量占用空间过大则会出现栈溢出的问题。

⑵ C语言,输入20个数,相同的只输出一个

循环比较了。。
最简单的逻辑
就是
建立一个唯一的数组。
然后循环这20个数。发现这数字不存在数组中。则插入到数组。如果发现存在
则跳过。。以此类推~~~
当然
如果这个数组
有上W个的话。。这就需要进行优化排序了

⑶ 怎样用C语言编写程序产生20个100以内的随机数,然后输出数组各元素

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{ int i,number[20];
srand((unsigned) time(NULL)); //用时间做种,每次产生随机数不一样
for (i=0; i<20; i++)
{
number[i] = rand() % 100; //产生0-100的随机数
printf("%d ", number[i]);
}
return 0;
}

⑷ C语言:生成20个随机数,然后把它们排序,最后要把排序前和排序后的数都显示出来。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int nums[21],num[21]; /*你的角标从1开始,这里的20就不够了*/
int i,j;
int index,temp;

srand(time(NULL));
for (i=1;i<=20;i++)
{
nums[i] = rand(); /*这个应当是i*/
printf("%d\n",nums[i]);
num[i]=nums[i]; /*备份原始数据*/
}

/*选择法,从小到大排序*/
for (i=1;i<=20;i++)
{
index=i; /*从i到20这几个元素中最小值的序号*/
for (j=i+1;j<=20;j++)
if (nums[index]>nums[j])
index=j;

if (index!=i)/*交换i和index的元素的值*/
{
temp=nums[index];
nums[index]=nums[i];
nums[i]=temp;
}
}
for (i=1;i<=20;i++)
printf("%d\t%d\n",num[i],nums[i]);

getch();
return 0;
}

⑸ c语言中定义了数组a[10]为什么可以输出20个数,这样一来a[10]有何意义

下标越界 编译器不自动检测
不检测下标可以提升运行效率 越界之后 会造成BUG 只能编写者自己注意

还有 你这个是输出21个数 不是20

想了一下应该在补充一句

number[10] 的意义在于 声明了一段合法的内存空间可供使用 超出部分虽然可以读写 但是属于非法读写

⑹ C语言编写输出20个数,每行5个

#include "stdio.h"
void main()
{
int i;
for(i=20;i>=1;i--)
{
printf("%d,",i);
if((i-1)%5==0)
printf("\n");
}
}
这样就可以了

⑺ 用C语言编写:输出前20个自然数,要求每五个数一行,共产生4列(看起来像排列成矩形形状)

#include"stdio.h"
void main()
{
int a[20],i;
for(i=0;i<20;i++)
scanf("%d",&a[i]);
for(i=0;i<20;i++)
{ if(i%5==0)
printf("\n");
printf("%d",a[i]);
}
}

⑻ 怎么输出这20个数中的最大值C语言

设置一个最大值变量,遍历数组,对于每个元素,判断是否比当前最大值大,是的话讲当前最大值更改为当前元素

⑼ C语言10-100随机20个数字 输出最大值

#include<math.h>
#include<stdio.h>
main()
{
intmax,n=0,num;
while(1)
{
num=rand()%100;//产生一个0~99的随机数
if(num<10)continue;//若随机数的值小于10则提前结束本次循环重新生成随机数
printf("%5d",num);//否则就输出随机数
max=num;//将随机数赋给max
n++;//将随机数的计数器加1,即n=1
break;//退出循环
}//得到一个10~100以内的随机数
while(n<=20)//若计数器的值小于20,表示随机数不够
{
num=rand()%100;//产生一个0~99的随机数
if(num<10)//若随机数的值小于10则提前结束本次循环重新生成随机数
continue;
if(max<num)//若新随机数num的值大于max
max=num;//则将num的值赋给max
printf("%5d",num);//输出num
n++;//将随机数的计数器加1
}
printf(" max=%d",max);//输出最大的随机数
}