當前位置:首頁 » 編程語言 » c語言實驗五數組

c語言實驗五數組

發布時間: 2022-05-24 10:17:37

① 定義一個五個數的數組,使其中最小的和第一個交換(用c語言

#include "stdio.h"
int main()
{
int a[5],min,i,t;
for(i=0;i<5;i++) //輸入5個整數
scanf("%d",&a[i]);

for(i=0;i<5;i++) //輸出5個整數
printf("%d ",a[i]);

min=0; //找到最小值的下標,放在min中
for(i=1;i<5;i++)
if(a[i]<a[min]) min=i;

t=a[0];a[0]=a[min];a[min]=t; //最小值和a[0]交換

printf("\n"); //再次輸出數組
for(i=0;i<5;i++)
printf("%d ",a[i]);

}

② C語言實驗求助

#include <stdio.h>
void main()
{
float score[10],max,min,sum=0;
int i;
for(i=0;i<10;i++)
{
printf("請輸入第%d個評委的分數",i+1);
scanf("%g",&score[i]);
sum+=score[i];
}
max = score[0];
min = score[0];
for(i=0;i<10;i++)
{
if(max<score[i])
{
max=score[i];
}
if(min>score[i])
{
min = score[i];
}
}
sum = (sum-min-max)/8;
printf("平均分是:%g",sum);

system("pause");
}
#include <stdio.h>
void main()
{
int shu[5][5],i,j,sum=0,sum1=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("shu[%d][%d]",i,j);
scanf("%d",&shu[i][j]);
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(i==j)
{
sum+=shu[i][j];
}
if(i+j==4)
{
sum1+=shu[i][j];
}
}
}
printf("對角元素之和是sum=%d\nsum1=%d",sum,sum1);
system("pause");
}
#include <stdio.h>
void main()
{
int i,score[15],nums[15],count=0;
int shu[5];
for(i=0;i<5;i++)
{
shu[i]=0;
}
for(i=0;i<15;i++)
{
printf("請輸入第%d個同學的學號:",i+1);
scanf("%d",&nums[i]);
printf("請輸入第%d個同學的成績:",i+1);
scanf("%d",&score[i]);
while(score[i]>100&&score[i]<0)
{
printf("你輸入的成績有誤,請重新輸入");
printf("請輸入第%d個同學的成績:",i+1);
scanf("%d",&score[i]);
}
}
for(i=0;i<15;i++)
{
if(score[i]<60)
{
count++;
}
else if(score[i]>=60&&score[i]<70)
{
shu[0]++;
}
else if(score[i]>=70&&score[i]<80)
{
shu[1]++;
}
else if(score[i]>=80&&score[i]<89)
{
shu[2]++;
}
else if(score[2]>=90&&score[i]<100)
{
shu[3]++;
}
else if(score[i]==100)
{
shu[4]++;
}
}

printf("\n60分以下的同學有%d人",count);
printf("\n60分--69的同學有%d人",shu[0]);
printf("\n70分79的同學有%d人",shu[1]);
printf("\n80分89的同學有%d人",shu[2]);
printf("\n90分99的同學有%d人",shu[3]);
printf("\n100分的同學有%d人",shu[4]);
system("pause");
}

③ c語言數組的定義

C語言支持一維數組和多維數組。如果一個數組的所有元素都不是數組,那麼該數組稱為一維數組。

在C語言中使用數組必須先進行定義,一維數組的定義方式為:類型說明符; 數組名 ;[常量表達式]。

其中,類型說明符是任一種基本數據類型或構造數據類型。數組名是用戶定義的數組標識符,方括弧中的常量表達式表示數據元素的個數,也稱為數組的長度。例如:

int a[10]; /* 說明整型數組a,有10個元素 */

float b[10], c[20]; /* 說明實型數組b,有10個元素,實型數組c,有20個元素 */

char ch[20]; /* 說明字元數組ch,有20個元素 */

對於數組類型說明應注意以下幾點:

1、數組的類型實際上是指數組元素的取值類型。對於同一個數組,其所有元素的數據類型都是相同的。

2、數組名的書寫規則應符合標識符的書寫規定。

3、數組名不能與其它變數名相同。例如:

int a;

float a[10];

是錯誤的。

4、方括弧中常量表達式表示數組元素的個數,如a[5]表示數組a有5個元素。但是其下標從0開始計算。因此5個元素分別為a[0], a[1], a[2], a[3], a[4]。

5、不能在方括弧中用變數來表示元素的個數,但是可以是符號常數或常量表達式。例如:

#define FD 5

// ...

int a[3+2],b[7+FD];

是合法的。但是下述說明方式是錯誤的。

int n=5;

int a[n];

6、允許在同一個類型說明中,說明多個數組和多個變數。例如:

int a,b,c,d,k1[10],k2[20];

(3)c語言實驗五數組擴展閱讀:

C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。[1]目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。

其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

④ C語言定義一個具有5個元素的結構體數組,並進行初始化。寫兩個函數:1.輸出這五個學生的信息;

#include<stdio.h>

structs
{
intnum;
charname[10];
floatscore;
};
intmain(void)
{
structsstu[5]={
{1,"xiaozhao",50.5},
{2,"xiaoqian",60.5},
{3,"xiaosun",75.5},
{4,"xiaoli",15.5},
{5,"xiaozhou",15.5}
};
floatvar=0.0f;
for(inti=0;i<5;i++)
{
printf("學號:%d 姓名:%s 成績:%.2f ",stu[i].num,stu[i].name,stu[i].score);
var+=stu[i].score;
}

var/=5;

printf("平均分:%.2f ",var);


return0;
}

⑤ 用c語言解決數組

// Students.cpp : 定義控制台應用程序的入口點。
//

#include <stdio.h>
#include <tchar.h>
#include <stdlib.h>
#include <time.h>

//每個學生 的成績
typedef struct _STU_SCORE
{
unsigned int uiScoreOne;
unsigned int uiScoreTwo;
unsigned int uiScoreThree;
}STU_SCORE, *LPSTU_SCORE;

void CalcScores(STU_SCORE* ssScore);//計算每門總分
void GetMaxMinScore(STU_SCORE* ssScore);//每門功課的最高最低分。
void GetAvgScore(STU_SCORE* ssScore);//每門功課平均成績和每個學生的平均成績

//先輸入學生成績
void ScanfStuScore(STU_SCORE* ssScore)
{
for (int i = 0; i < 10; ++i)
{
srand((unsigned)time( NULL));
ssScore[i].uiScoreOne = rand()%100 + i * 5;
ssScore[i].uiScoreTwo = rand()%100 + i * 6;
ssScore[i].uiScoreThree = rand()%100 + i * 7;
}
}

//計算每門總分
void CalcScores(STU_SCORE* ssScore)
{
unsigned int uiOne = 0;
unsigned int uiTwo = 0;
unsigned int uiThree = 0;
for (int i = 0; i < 10; ++i)
{
uiOne += ssScore[i].uiScoreOne;
uiTwo += ssScore[i].uiScoreTwo;
uiThree += ssScore[i].uiScoreTwo;
}
printf("第一門成績總分為%u\n第二門成績總分為%u\n第三門成績總分為%u\n",
uiOne, uiTwo, uiThree);
}

void CalcMaxMin(unsigned int uiScore[], unsigned int& uiMin, unsigned int& uiMax)
{
uiMin = uiMax = uiScore[0];
for (int i = 1; i < 10; ++i)
{
if (uiMin > uiScore[i])
{
uiMin = uiScore[i];
}
if (uiMax < uiScore[i])
{
uiMax = uiScore[i];
}
}
}
void CalcMaxMinScore(STU_SCORE* ssScore, unsigned int& uiMin, unsigned int& uiMax, unsigned int uiGrade)
{
switch (uiGrade)
{
case 1:
{
unsigned int uiOneScore[10] = {0};
for (int i = 0; i < 10; ++i)
{
uiOneScore[i] = ssScore[i].uiScoreOne;
}
CalcMaxMin(uiOneScore, uiMin, uiMax);
}
break;
case 2:
{
unsigned int uiTwoScore[10] = {0};
for (int i = 0; i < 10; ++i)
{
uiTwoScore[i] = ssScore[i].uiScoreTwo;
}
CalcMaxMin(uiTwoScore, uiMin, uiMax);
}
break;
case 3:
{
unsigned int uiThreeScore[10] = {0};
for (int i = 0; i < 10; ++i)
{
uiThreeScore[i] = ssScore[i].uiScoreThree;
}
CalcMaxMin(uiThreeScore, uiMin, uiMax);
}
break;
default:
break;
}
}
void GetMaxMinScore(STU_SCORE* ssScore)//每門功課的最高最低分。
{
unsigned int uiOneMin = 0, uiOneMax = 0;
unsigned int uiTwoMin = 0, uiTwoMax = 0;
unsigned int uiThreeMin = 0, uiThreeMax = 0;
//
CalcMaxMinScore(ssScore, uiOneMin, uiOneMax, 1);
CalcMaxMinScore(ssScore, uiTwoMin, uiTwoMax, 2);
CalcMaxMinScore(ssScore, uiThreeMin, uiThreeMax, 3);

printf("第一門功課的最高分為%u, 最低分為%u\n", uiOneMax, uiOneMin);
printf("第二門功課的最高分為%u, 最低分為%u\n", uiTwoMax, uiTwoMin);
printf("第三門功課的最高分為%u, 最低分為%u\n", uiThreeMax, uiThreeMin);

}

//每門功課平均成績和每個學生的平均成績
void GetAvgScore(STU_SCORE* ssScore)
{
unsigned int uiAvgOne = 0, uiAvgTwo = 0, uiAvgThree = 0;
for (int i = 0; i < 10; ++i)
{
uiAvgOne += ssScore[i].uiScoreOne;
uiAvgTwo += ssScore[i].uiScoreTwo;
uiAvgThree += ssScore[i].uiScoreThree;
}
printf("第一門功課的平均分為%u,第2門功課的平均分為%u,第3門功課的平均分為%u\n\n",
uiAvgOne /= 10,
uiAvgTwo /= 10,
uiAvgThree /= 10);

for (int i = 0; i < 10; ++i)
{
int iAvg = 0;
iAvg += ssScore[i].uiScoreOne;
iAvg += ssScore[i].uiScoreTwo;
iAvg += ssScore[i].uiScoreThree;
printf("第%d個學生的平均分為%u\n", i, iAvg / 3);
}
}
int _tmain(int argc, _TCHAR* argv[])
{
STU_SCORE ssScore[10] = {0};
ScanfStuScore(ssScore);//輸入成績,這里先自動生成一些

CalcScores(ssScore);//計算每門總分
printf("----------------------------------------\n");

GetMaxMinScore(ssScore);

printf("----------------------------------------\n");
GetAvgScore(ssScore);

system("pause");
return 0;
}

⑥ C語言實驗設計 實驗六 數組

main()
{ int a[10],n,i,j,_________________; /*定義,下面出現了min
printf("input n=");
scanf("%d",&n);
printf("input array a[0]a[l]… a[%d]:\n",n-1);
for(i=0;i<n;i++)
scanf("%d",______________________); /*依次存儲數據a[i]
printf("before sort:array\n");
for(i=0;i<n;i--)
printf("%d",a[i]);
printf("\n");
for(i=0;i<_______________________;i++) /*最大為n-2,倒數第二個
{min=i;
for(j=___________________;j<n;j++) /*從第二個開始 j=i+1
if(a[j]<a[min])_________________; /*a[i]=a[j]交換小的到前面
ax=____________________;
a[i]=a[min];
____________________=ax;} /*a[min],
printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%d", a[i]);
printf("\n");


這份代碼有比較大問題,我覺得不科學
我修改了下
main()
{ int a[10],n,i,j,min;
printf("input n=");
scanf("%d",&n);
printf("input array a[0]a[l]… a[%d]:\n",n-1);
for(i=0;i<n;i++)
scanf("%d",a[i]);
printf("before sort:array\n");
for(i=0;i<n;i--)
printf("%d ",a[i]);
printf("\n");
for(i=0;i<n-2;i++)
{min=i;
for(j=i+1;j<n;j++)
if(a[j]<a[min])
{ a[i]=a[j];
a[i]=a[min]; }
}
printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%d ", a[i]);
printf("\n");

⑦ C語言《數組》實驗報告怎麼做急!!!!!!

1.申請int變數,在for里初始化為2!
因為
之前給出的是
{1,1}
所以下標賦值從2開始!
每增加的一個數組,其值都是前面兩個數組的值之差!!得出20個數組後並輸出結果!~
1.無措
1.結果自己運算-
-
------------------------------------------------------------------------------------------------------------------------------------
2.不知道神馬是楊輝三角,我高中生-
-
-----------------------------------------------------------------------------------------------------------------------------------
3.錯誤1:for(i=1;i<11;i++)
解釋:數組下標從0開始

錯誤2:所有的for循環下標都從0開始!

按照以上錯誤運行結果是9個數的排序

結果自己運算
-----------------------------------------------------------------------------------------------------------------------------------
4.不會
----------------------------------------------------------------------------------------------------------------------------------
5.錯誤1:因為初始化數組是20個,所以不能使用gets
因為,gets函數在寫入過程中,不會判斷數據長度大小,等於說,
如果輸入大於20,拿25來說,
前20個寫入到指定的數組內存中,後5個就會溢出到其他內存,沖掉其他數據!·造成不必要的後果!

運行結果:str[1],[2],[3]
都有可能最大
-----------------------------------------------------------------------------------------------------------------------------------

歡迎追問,純個人思考手寫!望採納···

⑧ C語言實驗報告(數組排序))

#include<stdio.h>

#include<stdlib.h>

#define N 8

void select_sort(int a[],int n);

//選擇排序實現

void select_sort(int a[],int n)//n為數組a的元素個數

{

//進行N-1輪選擇

for(int i=0; i<n-1; i++)

{

int min_index = i;

//找出第i小的數所在的位置

for(int j=i+1; j<n; j++)

{

if(a[j] < a[min_index])

{

min_index = j;

}

}

//將第i小的數,放在第i個位置;如果剛好,就不用交換

if( i != min_index)

{

int temp = a[i];

a[i] = a[min_index];

a[min_index] = temp;

}

}

}

int main()

{

int num[10] = {8, 3, 11, 7, 9, 84, 19, 25,22,33};

select_sort(num, 10);

for(int i=0; i<10; i++)

printf("%d ", num[i]);

printf(" ");

system("pause");

return 0;

}

⑨ C語言數組實驗題

半年沒有寫代碼了,手生得特別嚴重,寫這樣的基礎題都費了我好大功夫,腦子轉不過來#include<stdio.h>

#include<string.h>

int main()
{
int i;
char ch,str[81];
printf("請輸入一個字元:");
scanf("%c",&ch);
printf("請輸入一個以回車結尾的字元串:");
scanf("%s",str);
for (i = 0; i<strlen(str); i++)
{
if (str[i] == ch)
{
printf(" %d", i);
if (i == strlen(str) - 1) printf(" ");
}
else if (i == strlen(str) - 1) printf("Not Found ");
}

return 0;
}


⑩ C語言 數組實驗 高手來 本人菜鳥~~~

1:#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int i,a[10],t;
srand((unsigned)time(NULL));
for(i=0;i<10;i++)a[i]=rand();
for(i=0;i<10;i++)printf("a[%d]=%d\n",i,a[i]);
for(i=0;i<5;i++)
{
t=a[i];
a[i]=a[9-i];
a[9-i]=t;
}
for(i=0;i<10;i++)printf("a[%d]=%d\n",i,a[i]);
}
2:#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int i,a[10],max,min,sum=0,m,n;
float ave;
srand((unsigned)time(NULL));
for(i=0;i<10;i++)a[i]=rand()%100;
max=a[0];
min=a[0];
for(i=0;i<10;i++)printf("a[%d]=%d\n",i,a[i]);
for(i=0;i<10;i++)
{
sum+=a[i];
if(a[i]>max){max=a[i];m=i;}
if(a[i]<min){min=a[i];n=i;}
}
ave=(float)sum/10;
printf("平均值:%.1f\n最大值:%d下標:%d\n最小值:%d下標:%d\n",ave,max,m,min,n);
}
3:#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int i,j,a[10],t,m=0;
srand((unsigned)time(NULL));
for(i=0;i<10;i++)a[i]=rand()%100;
for(i=0;i<10;i++)
{
t=a[i];
for(j=i;j<10;j++)if(a[j]<t){t=a[j];m=j;}
for(;m>i;m--)a[m]=a[m-1];
a[i]=t;
}
for(i=0;i<10;i++)printf("a[%d]=%d\n",i,a[i]);
}
4:#include <stdio.h>
int main()
{
double a[100]={1},b[100]={1};
int i,j,k,num;
num=10;
printf("%8.0f\n",1.0);
for(i=2;i<=num;i++)
{for(j=1;j<i+1;j++)
b[j]=a[j-1]+a[j];
for(k=1;k<num+1;k++)
a[k]=b[k];
for(k=0;k<i;k++)
printf("%8.0f",a[k]);
printf("\n");}
}

熱點內容
java基礎應用 發布:2025-02-13 10:44:53 瀏覽:710
linux內核搶占 發布:2025-02-13 10:36:32 瀏覽:889
家裝公司源碼 發布:2025-02-13 10:35:35 瀏覽:48
aspnet更新資料庫 發布:2025-02-13 10:35:34 瀏覽:384
海爾壓縮機不工作 發布:2025-02-13 10:15:32 瀏覽:223
才兒坊編程 發布:2025-02-13 10:09:58 瀏覽:729
手機存儲速度測試 發布:2025-02-13 10:09:58 瀏覽:368
什麼是安卓客戶端開發 發布:2025-02-13 10:07:48 瀏覽:614
加密脫殼 發布:2025-02-13 10:07:44 瀏覽:639
oppor9怎麼壓縮圖片 發布:2025-02-13 10:06:13 瀏覽:948