❶ c語言中輸入不確定個數的數值,要存入一個數組中,將數值按大到小排列,再將它們相加,請問怎麼實現
#include "stdio.h"
#include "conio.h"
void main()
{
int a[100];
int i,j,n=0,tt,sum=0;
printf("請輸入若干整數,-1作為輸入數據的結束\n");
scanf("%d",&tt);
while(tt!=-1){
a[n]=tt;
scanf("%d",&tt);
n++;
}
printf("原來的次序\n");
for(i=0;i<n;i++)
printf("%6d",a[i]);
printf("\n");
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]) {
tt=a[i];
a[i]=a[j];
a[j]=tt;
}
printf("排序後的結果\n");
for(i=0;i<n;i++)
printf("%6d",a[i]);
printf("\n");
for(i=0;i<n;i++)
sum=sum+a[i];
printf("Sum=%d\n",sum);
return;
}
❷ C語言中怎麼輸入不確定的數
我給你寫一個,絕對沒有輸入數目的限制。用指針來解決這個問題。數組是不行的。
#include<stdio.h>
#include<alloc.h>
void
main()
{int
*p,i,k;
scanf("%d",&k);/*你想輸入幾個數,就輸入幾。*/
p=(int
*)malloc(20*sizeof(int));/*申請20個整數類型的空間*/
for(i=0;i<k;i++)
scanf("%d",p+i);/*輸入k個數*/
for(i=0;i<k;i++);
printf("%5d",*(p+i));/*依次輸出剛才你輸入的那幾個數*/
}
我給你寫了,你可以試試,絕對沒有錯,一定要選我的為最佳答案啊
這樣我就知足了
呵呵
❸ c語言如何輸入不確定值的個數
你說的是不確定個數的變數,還是不確定值得變數?
前者你可以scanf("%d",&i), int * p = malloc(sizeof(int) * i) 這樣可以分配i個int 類型的空間給你。
後者的話,就有點無語了,int a 不初始化,那麼a就是個不確定值得變數
❹ C語言 輸入不確定的個數的數字後停止循環
用 while(scanf("%d", &n) != EOF) 實現啊,在Windows下按Ctrl+z就可以停止獲取字元了
❺ C語言,多組輸入,每一行輸入幾個整數,但是每一行輸入的數的個數不確定,該怎麼寫代碼
增加判斷結束的標志就可以了,比如說我這里判斷是以-1 作為結束符,然後輸入所有已經輸入的內容。
#include<stdio.h>
void main(){
printf("input you integer ");
int a[100];
int temp=0;
scanf("%d",&temp);
int i=0;
while(temp!=-1){
a[i]=temp;
scanf("%d",&temp);
i++;
}
int j=0;
while(j<i){
printf("%d ",a[j]);
j++;
}
}