A. 在c語言中輸入n個整數怎麼寫
#include<stdio.h>
intmain()
{
intA[2048],B[2048],C[2048],D[2048];
inta,b,c,d;
a=b=c=d=0;
scanf("%d",&a);
for(inti=0;i<a;++i){
scanf("%d",&a[i]);
}
for(intj=0;j<a;++j){
if(a[j]%3==0)B[b]=a[j],b++;
elseif(a[j]%3==1)C[c]=a[j],c++;
elseD[d]=a[j],d++;
}
for(inti=0;i<b;++i){
printf("%d",B[i]);
}
for(inti=0;i<c;++i){
printf("%d",C[i]);
}
for(inti=0;i<d;++i){
printf("%d",D[i]);
}
return0;
}
B. C語言題,在鍵盤上輸入N個整數,試編製程序使該數組中的數按照從大到小的次序排列,要求用冒泡法,選擇法
#include <stdio.h>
main()
{
int a[10],i,j,t;
printf("Please input 10 numbers: ");/*輸入源數據*/
for(i=0;i<10;i++)
scanf("%d",&a[i]); /*排序*/
for(j=0;j<9;j++) /*外循環控制排序趟數,n個數排n-1趟*/
for(i=0;i<9-j;i++) /*內循環每趟比較的次數,第j趟比較n-j次*/
if(a[i]>a[i+1])
/*相鄰元素比較,逆序則交換*/
{ t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}/*輸出排序結果*/
printf("The sorted numbers: ");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
C. c語言編程題:輸入n個整數,將最小數與第一個數對換,把最大數與最後一個數對換。
#include
int main()
{
int a[10];
int i,max,min;
for(i = 0; i < 10; i ++)
scanf("%d",a+i);
max=min=0;
for(i = 1; i < 10; i ++)
{
if(a[max]<a[i]) max=i;
if(a[min]>a[i]) min =i;
}
i = a[max];
a[max]=a[9];
a[9]=i;
i = a[min];
a[min]=a[0];
a[0]=i;
for(i = 0; i < 10; i ++)
printf("%d ",a[i]);
}
D. C語言題目 輸入N個整數,求這N個整數中的最大數、最小數和偶數平均數,並輸出
將輸入的數放在數組A[N]中
Amax = A[0];
Amin = A[0];
Aavr = 0;
j = 0;
for(i=0;i<N;i++)
{
if(A[i]>Amax)
Amax = A[i];
if(A[i]<Amin)
Amin = A[i];
if((A[i]%2) == 0)
{
Aavr += A[i];
j++;
}
}
Aavr = Aavr / j ;
Amax為最大數
Amin為最小數
Aavr為偶數的平均數
E. C語言編程題 輸入n個整數 按照從小到大的順序排列
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,a[100],i=0,j,temp;
printf("請輸入數的個數:");
scanf("%d",&n);
printf("\n請輸入要排序的數:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
for(j=i;j<n;j++)
if(a[j]<a[i])
temp=a[i],a[i]=a[j],a[j]=temp;
printf("排序後:\n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
F. C語言,編寫程序,在主程序中輸入n個整數
#include<stdio.h>
int sort1(int a[],int n)//參數n數組長度
{
int t;
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
int sort2(int a[],int n,int x)//參數n數組長度,x要插入的數
{
a[n]=x;
int t;
for(int i=0;i<n;i++)
for(int j=i+1;j<n+1;j++)
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
int main()
{
int n,a[111],x;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);//輸入n個數
scanf("%d",&x);//要插入的數
sort1(a,n);//調用函數選擇排序
for(int i=0;i<n;i++)
printf("%d ",a[i]);//輸出第一次排序的結果
printf(" ");
sort2(a,n,x);//調用函數先插入一個數,然後排序
for(int i=0;i<n+1;i++)
printf("%d ",a[i]); //輸出第二次排序的結果
return 0;
}
G. c語言編程題:輸入n個整數,將最小數與第一個數對換,把最大數與最後一個數對換。用指針變數作函數形參
/******************************** 任意n個整數,將其中最小的數與第一個數對換* ,把最大的數與最後一個數對換* 2014-01-09 20:15 望採納;)********************************/#include <stdio.h>#define MAXSIZE 100 #define MAX(a, b) (a) >= (b) ? 1 : 0 //判斷a是否大於b#define MIN(a, b) (a) <= (b) ? 1 : 0//判斷a是否小於b int main(void){ int i, n, dat[MAXSIZE]; int x = 0, y = 0; int max = 0, min = 0X0FFFFFFF; printf("\n請輸入n( n < 100 ):"); scanf("%d", &n); printf("\n請輸入%d個數據:\n", n); for (i = 0; i < n; i++) { scanf("%d", dat + i); //輸入 if ( MAX(dat[i], max) ) { max = dat[i]; //刷新最大值 x = i; //保存最大數在第幾位 } else if ( MIN(dat[i], min) ) { min = dat[i];//刷新最小值 y = i; //保存最小數在第幾位 } } if ( (x == (n - 1)) && (y == 0) ){ //如果 最大數在最末位且最小為在最前為 } else if ( y == (n - 1) ) { //如果 最小數在最末尾 y = x; dat[n - 1] = dat[n - 1] ^ dat[x]; dat[x] = dat[n - 1] ^ dat[x]; dat[n - 1] = dat[n - 1] ^ dat[x]; //交換 dat[0] = dat[0] ^ dat[y]; dat[y] = dat[0] ^ dat[y]; dat[0] = dat[0] ^ dat[y]; //交換 } else { dat[n - 1] = dat[n - 1] ^ dat[x]; dat[x] = dat[n - 1] ^ dat[x]; dat[n - 1] = dat[n - 1] ^ dat[x]; //交換 dat[0] = dat[0] ^ dat[y]; dat[y] = dat[0] ^ dat[y]; dat[0] = dat[0] ^ dat[y]; //交換 } printf("\n處理後的結果:"); for (i = 0; i < n; i++){ printf(" %d", dat[i]); }//輸出 return 0;}
追問
... 我主要想知道 有沒有其他方法 不用設定100 啊 1000什麼滴 ,除了用malloc 還有其他方法么
追答
C99規范中可以定義動態數組,例如:
1234
n = 5;int a[n];n = 6;int b[n];
首先確定你的編譯器支持不支持C99。如果不行的話我在沒有多好的辦法,只能設為很大很大,或者malloc。望採納;)
H. C語言程序設計: 任意輸入n個整數,分別統計奇數的和、奇數的個數、偶數的和、偶數的個數。
程序為:
#include<stdio.h>
void main()
{
int a[100],i,item,sum1,sum2,item1,item2;//sum1,sum2分別儲存奇數、偶數之和,item1,item2分別表示奇數、偶數的個數
printf("請輸入所要輸入整數的個數:");
scanf("%d",&item);
printf("請輸入%d個整數: ",item);
for(i=0;i<item;i++)
scanf("%d",&a[i]);
sum1=sum2=item1=item2=0;
for(i=0;i<item;i++)
{
if(a[i]==0) item2++;//0是特殊偶數
else if(a[i]%2==0)
{
sum2=sum2+a[i];
item2++;
}
else
{
sum1=sum1+a[i];
item1++;
}
}
printf("奇數之和為:%d,偶數之和為:%d ",sum1,sum2);
}
(8)c語言輸入n個整數題擴展閱讀:
for表達式
表達式1:一般為賦值表達式,給控制變數賦初值;
表達式2:關系表達式或邏輯表達式,循環控制條件;
表達式3:一般為賦值表達式,給控制變數增量或減量。
語句:循環體,當有多條語句時,必須使用復合語句。
I. 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];
}
J. C語言編程題,輸入N 個正整數(10 < Ν ≤20 )存入數組 a 中,輸出 a 中的最大值
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int N=1;
int num[20] = { 0 };
int max, min, sum=0;
float ava=0;
while (!(N > 10 && N <= 20))
{
cout << "請輸入N的值:" << endl;
cin >> N;
}
cout << "請輸入N個正整數,回車鍵結束!" << endl;
for (int i = 0; i < N; i++)
cin >> num[i];
max = num[0];
min = num[N - 1];
for (int i = 0; i < N; i++)
{
if (num[i] > max)
max = num[i];
if (num[i] < min)
min = num[i];
sum += num[i];
}
ava = (float)sum / N;
cout << "最大數:" << max << endl;
cout << "最小數:" << min << endl;
cout << "總數:" << sum << endl;
printf("平均數:%.2f", ava);
//cout << "平均數:" << ava << endl;
system("pause");
return 0;
}