❶ c語言如何輸入一個正整數N,再輸入N個整數,按從小到大的順序輸出
#include<stdio.h>
void main(){
int num[10000],i,j,temp,N,count=0;
//確定數組num的實際大小
printf("請輸入一個大於0的整數:");
scanf("%d",&N);
//限制數字n的值在0到10000之間
while(N<=0||N>=10000){
printf("你輸入的數字不在0到10000之間,請重新輸入!\n\n");
printf("請輸入一個大於0的整數:");
scanf("%d",&N);
}
//輸入數組num中的所有數
for(i=0;i<N;){
printf("請輸入第%d個數:",(i+1));
scanf("%d",&num[i]);
if(num[i]<0){ //使數組num中的元素值都大於等於0
printf("必須輸入一個大於等於0的數!\n\n");
}else{
i++;
}
}
//使用冒泡排序來使得數組的元素值從小到大排序
for(i=0;i<N;i++){
for(j=0;j<N-i-1;j++){
if(num[j]>num[j+1]){
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
//輸出排序數組中所有元素的值,這里我使用每行10個來換行輸出
printf("數組num從小到大的排序是:\n");
for(i=0;i<N;i++){
count++;
if(count!=0&&count%10!=0&&count!=N){
printf("%d,",num[i]);
}else {
printf("%d\n",num[i]);
}
}
}
❷ c語言如何實現輸入任意多個整數
用循環結構。
具體操作如下。
int a;
scanf("%d",&a);
while(a!=0)
{
scanf("%d",&a);
}
這時,你輸入任意個整數都行,兩個整數中間用任意數量空格隔開,只要最後一個整數輸入的是0就行了
❸ c語言中 輸入多個數據
scanf("%d,%d,%d",&a,&b,&c);
你好,親。scanf輸入時候遇到了空格,回車,或者是tab都認為輸入結束。
你的輸入語句中每兩個數據間有個逗號,所以每次輸入完第一個數字應該輸入個逗號,再輸入第二個數據,第二個完後,再輸入逗號,在輸入第三個,第三個完後回車就得到結果了。
我覺得你沒有必要這樣寫scanf("%d%d%d",&a,&b,&c);,去掉逗號,輸入第一個數據後,空格,輸入第二個,再空格,輸入第三個,再回車,就行了,親。
希望有所幫助
❹ 想要同時在c語言中輸入多個數該怎麼辦
C的數組是不可以動態增長,如果你不想使用鏈表,可以參考下面方法。
1、用malloc分配一塊空間,比如int* a = (int*) malloc( 10*sizeof(int) );
然後可以當成好像是數組一樣使用,比如a[2] = 5;
2、然後你需要增長的時候,就用realloc( a, 20*sizeof(int))擴展空間。不過每一次擴展都會有一次拷貝,相當於分配一塊新的空間,然後把原來的數據拷貝過去,所以數組大了以後,速度會很慢。
3、使用while(scanf("%d",&n)!=EOF){}語句,直達輸入ctrl+z,結束輸入,例如:
#include<stdio.h>
intmain()
{
inta;
while(scanf("%d",&a)!=<ahref="https://www..com/s?wd=EOF&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-TLwGUv3En1nzPWTzrH01"target="_blank"class="-highlight">EOF</a>){
printf("輸出:%d ",a);
}
return0;
}
/*
運行結果:
54
輸出:54
5156
輸出:5156
21
輸出:21
^Z
*/
❺ C語言如何從鍵盤輸入任意3個數,按從小到大的順序輸出
代碼1.
//輸入3個數,要求按從小到大順序輸出
#include<stdio.h>
intmain()
{
inta,b,c,t;
printf("請輸入三個數:");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("從小到大的順序是:%d%d%d ",a,b,c);
return0;
}
代碼2.
輸入3個字元串,按從小到大順序輸出。//先用程序對三個數進行從小到大排序,然後修改程序
#include<stdio.h>
#include<string.h>
intmain()
{voidswap(char*pt1,char*pt2);
chara[20],b[20],c[20];
char*p1,*p2,*p3;
printf("請輸入三個字元串:");
gets(a);
gets(b);
gets(c);
//或用scanf("%s,%s,%s",a,b,c);
p1=&a[0];p2=&b[0];p3=&c[0];//三個指針分別指向三個字元數組
if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b);//比較兩個字元串的大小,為什麼用前一句的時候會出現警告呢
if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3);
if(strcmp(b,c)>0)swap(b,c);//if(strcmp(*p2,*p3)>0)swap(*p2,*p3);
printf("由小到大排列:%s %s %s ",a,b,c);
return0;
}
voidswap(char*pt1,char*pt2)
{chart[20];
strcpy(t,pt1);
strcpy(pt1,pt2);
strcpy(pt2,t);
//t=*pt1;*pt1=*pt2;*pt2=t;
}
代碼3.
#include<stdio.h>
#include<string.h>
#defineSIZE3
#defineLEN50
intmain(void)
{
charstr[SIZE][LEN];
char(*pst)[LEN]=str;
chartemp[LEN];
inti,j;
printf("Pleaseenter3string. ");
for(i=0;i<SIZE;i++)
{
fgets(*(pst+i),LEN,stdin);
}
printf("Beforsort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
{
if(strcmp(*(pst+i),*(pst+j))==1)
{
strcpy(temp,*(pst+i));
strcpy(*(pst+i),*(pst+j));
strcpy(*(pst+j),temp);
}
}
printf("Aftersort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
}
❻ 怎樣用C語言輸入若干個數字
可以定義一個大數組用以來接收輸入的數據,數據接收時記錄輸入數據的個數,然後根據個數輸出結果!
❼ C語言如何輸入n個整數定義到字元串中
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#defineN256//宏定義
intmain()
{
charstrArray[N][256];
char*str[N];
char*temp;
inti,n;
printf("請輸入字元串:\n");
for(i=0;i<N;i++)
{
gets(strArray[i]);
if(strcmp(strArray[i],"")==0)//空格串作為字元串輸入結束符
{
break;
}
str[i]=strArray[i];
}
❽ c語言數組怎麼輸入n個數
摘要 親!您好,正在為您解答這道題,您需要耐心等待五分鍾左右時間,答案馬上為您揭曉,不要著急哦!
❾ 想要同時在c語言中輸入多個數該怎麼辦
1.使用EOF來判斷是否結束輸出,可以實現輸入任意多個數據。
EOF,計算機術語,(End Of File)的縮寫,在操作系統中表示資料源無更多的資料可讀取。資料源通常稱為檔案或串流。
在C語言中,EOF表示文件結束符(end of file)。在while循環中以EOF作為文件結束標志,這種以EOF作為文件結束標志的文件,可以是文本文件,也可以是標准輸入stdin。在文本文件中,數據都是以字元的ASCII代碼值的形式存放。我們知道,ASCII代碼值的范圍是0~255,不可能出現-1,因此可以用EOF作為文件結束標志。
在windows平台,stdin輸入流的EOF標志是 ctrl + z。
在unix平台,stdin輸入流的EOF標志是 ctrl + d。
2.常式:
#include <stdio.h>
int main(){
int n;
while (scanf("%d",&n)!=EOF){ //循環讀入n,直到crtl+z/d
printf ("%d ",n); //調用printf函數輸出n
}
return 0;
}