當前位置:首頁 » 編程語言 » 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);//輸出最大的隨機數
}