當前位置:首頁 » 編程語言 » c語言一維數組編程題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言一維數組編程題

發布時間: 2022-12-18 02:23:22

c語言二維數組一維數組編程題

思路:先定義數組的前兩項值,再依次對後面每項進行賦值,後面每項都是前兩項的和。
例如:

#include <stdio.h>int main(){ int a[20],i; a[0]=a[1]=1; for(i=2;i<20;i++) a[i]=a[i-1]+a[i-2]; for(i=0;i<20;i++){ printf("%4d ",a[i]); if((i+1)%5==0) printf("\n"); } return 0;}/*輸出: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765*/

Ⅱ c語言編程題在主函數中定義一個一維數組,把若干個人(人數自

本例建立一個函數fun,有三個數組參數,其中h[],low[]兩個數組用來分別存儲高於均值的成績和低於均值的成績,並返回高於平均成績的分數的個數。

代碼如下

#include<stdio.h>

intn;

floatsum=0,average;

floatfun(floatnum[],floath[],floatlow[]);

intmain()

{inti;

do

{printf("請輸入人數:");scanf("%d",&n);}

while(n<=0);

floatnum[n],h[n],low[n];

for(i=0;i<n;i++)

{scanf("%f",&num[i]);

sum+=num[i];

}

for(i=0;i<n;i++)printf("%.1f ",num[i]);

printf(" 總分:%.1f ",sum);

average=sum/n;

printf("高於平均成績%.1f的分數 ",average);

for(i=0;i<fun(num,h,low);i++)

printf("%.1f ",h[i]);

printf(" 低於平均成績%.1f的分數 ",average);

for(i=0;i<(n-fun(num,h,low));i++)

printf("%.1f ",low[i]);

return0;

}

floatfun(floatnum[],floath[],floatlow[])

{inti,c=0,d=0; //c,d為計數器

for(i=0;i<n;i++)

{

if(num[i]>average){h[c]=num[i];c++;}//大於均值的成績送入數組h[]

else{low[d]=num[i];d++;}//低於均值的成績送入數組low[]

}

returnc;

}

Ⅲ C語言編程題:定義一個含有10個元素的一維數組。

#include "stdio.h"
void main()
{
int a[10],b[10],i,min;

printf("請輸入10個整數:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);

printf("輸入的10個整數為:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");

for(i=0;i<10;i++)
b[9-i]=a[i];
printf("逆序存放後的10個整數為:\n");
for(i=0;i<10;i++)
printf("%d ",b[i]);
printf("\n");

min=a[0];
for(i=0;i<10;i++)
if(min>a[i]) min=a[i];
printf("最小整數為:%d\n",min);

}

Ⅳ C語言:一道一維數組的編程題

#include<stdio.h>
intmain()
{inta[10000],i=0,j,k,l;
printf("Pleaseinputnumbers:");
while(scanf("%d",&k))
{
if(k==-222)
break;
a[i]=k;
i++;
}
for(j=0;j<i;j++)
{
for(l=j+1;l<i;l++)
{
if(a[j]>a[l])
{
k=a[j];
a[j]=a[l];
a[l]=k;
}
}
}
printf("Output: ");
for(j=0;j<i-1;j++)
{
if((j+1)%6==0)
printf("%-6d ",a[j]);
else
printf("%-6d,",a[j]);
}
printf("%-6d ",a[i-1]);
return0;
}

Ⅳ C語言題目:定義一個一維數組,並給數組賦值

一位數組賦值的幾種方式
int
a[10]={1,2,3,4,5,6,7,8,9,10};
.一般初始化,例:
int
a[10]={3,10,5,3,4,5,6,7,8,9};
int
array[5]={2,3,4,5,6};
其結果是給每一個數組元素都指定了初值。
2.部分元素初始化,其餘元素均為零。
例:
int
a[10]={7,8,9,67,54};
僅給前5個元素賦初值,後5個元素初值為0。
3.全部元素均初始化為1。
int
a[10]
=
{1,1,1,1,1,1,1,1,1,1};
不允許簡寫為 int
a[10]={1};或int
b[10]={1*10};
同學們想一想上述定義a和b數組後,初始化結果是什麼?
注意:當程序不給數組指定初始值時,編譯器作如下處理:
(1)部分元素初始化,編譯器自動為沒有初始化的元素初始化為0。
(2)數值數組如果只定義不初始化,編譯器不為數組自動指定初始值,即初值為一些隨機值(值不確定)。
4.如果全部元素均指定初值,定義中可省略元素的個數。
例:
int
a[5]={9,28,3,4,5};可以寫為:
int
a[
]={9,28,3,4,5};
數組元素的引用
c語言規定,不能整體引用數值數組,只能逐個引用數組元素;
元素引用方式:數組名[下標表達式]
例:a[0]
=
a[5]
+
a[7]
-
a[2*3]
「下標表達式」可以是任何非負整型數據。
特別強調:1.一個數組元素,實質上就是一個變數,它具有和相同類型單個變數一樣的屬性,可以對它進行賦值和參與各種運算。
2.在c語言中,數組作為一個整體,不能參加數據運算,只能對單個的元素進行處理。

Ⅵ C語言編程問題(用一維數組)

#include<stdio.h>
voidmain()
{
inti,j,n,k,x,a[100];
scanf("%d%d",&n,&x);
k=n;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
if(a[i]==x)
{
j=i+1;
for(j;j<n;j++)
a[j-1]=a[j];
k--;
}
for(i=0;i<k;i++)
printf("%d",a[i]);
}


Ⅶ C語言一維數組的題目,實驗六的任務3

代碼如下


#include <stdio.h>


main()


{


int i,b[9],c=0,x;


static int a[10]={23,54,33,48,78,2,0,-2,16,15};


printf("原始數組數據 ");


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


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


printf(" ");


printf("Input a Number:");


scanf("%d",&x); //輸入要對比的數據


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


{

if (a[i]==x)

{
c=i;
break; //循環體找是否有數據相同,有就跳出for循環
}


}


if (c) //如果有相同數據,就刪除一個數據

{
for (i=0;i<c;i++)


b[i]=a[i];


for (i=c;i<9;i++)


{b[i]=a[i+1];}


printf("刪除後的數組數據: ");


for (i=0;i<9;i++)


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


}


if (!c) printf("no this number ");


}



最後的輸出圖

Ⅷ c語言一維數組

#include<stdio.h>
#include<malloc.h>
#include<string.h>

typedefchar*string;//字元串
//學生結構體
typedefstructStudent{
charname[16];//姓名
intid;//學號
floatgrade;//成績
structStudent*next;//下一個學生節點
}Student,*student;

//班級結構體
typedefstructClass{
studentlist;//學生列表
intnum;//學生人數
}Class,*class;

//創建一個新班級
classnewClass();
//銷毀一個班級
voiddestroyClass(classc);
//創建一個新學生
studentnewStudent(stringname,intid,floatgrade);
//向班級中加入一個學生
voidappend(classc,studentstu);
//統計不及格人數,並列印名單
voidshowNotPass(classc);
//統計全班平均分及以上的學生人數並列印名單
voidshowGreaterThanAvg(classc);
//統計各分數段的學生人數及所佔百分比
voidshowGradeRange(classc);
//輸出最高分及學號
voidshowFirst(classc);
//輸出班裡的所有成員
voidoutput(classc);

intmain(){
charname[16];
intid;
floatgrade;
classmyClass=newClass();//創建一個班級
printf("輸入學生信息 ");
puts("姓名 學號 成績");
while(~scanf("%s%d%f",name,&id,&grade)&&grade>=0){//grade<0結束
append(myClass,newStudent(name,id,grade));//向班級中加入一名新學生
}
//不及格信息
showNotPass(myClass);
//超過平均分的信息
showGreaterThanAvg(myClass);
//區間信息
showGradeRange(myClass);
//第一名
showFirst(myClass);

return0;
}

//創建一個新班級
classnewClass(){
classtmp=(class)malloc(sizeof(Class));
tmp->num=0;
tmp->list=NULL;
returntmp;
}

//銷毀一個班級
voiddestroyClass(classc){
if(c==NULL)return;
studentlist=c->list;
studentnext=NULL;
while(list!=NULL){
next=list->next;
free(list);//釋放當前節點
list=next;
}
free(c);
c=NULL;
}

//創建一個新學生
studentnewStudent(stringname,intid,floatgrade){
studenttmp=(student)malloc(sizeof(Student));
strcpy(tmp->name,name);
tmp->id=id;
tmp->grade=grade;
tmp->next=NULL;
returntmp;
}
//向班級中加入一個學生
voidappend(classc,studentstu){
if(c==NULL||stu==NULL)return;
stu->next=c->list;
c->list=stu;
c->num++;
}
//統計不及格人數,並列印名單
voidshowNotPass(classc){
if(c==NULL)return;
classtmpClass=newClass();
studenttmp=c->list;
for(;tmp!=NULL;tmp=tmp->next){
if(tmp->grade<60){
studenttmpStu=(student)malloc(sizeof(Student));
memcpy(tmpStu,tmp,sizeof(Student));
append(tmpClass,tmpStu);
}
}
printf("不及格人數:%d ",tmpClass->num);
output(tmpClass);
destroyClass(tmpClass);
}

//統計全班平均分及以上的學生人數並列印名單
voidshowGreaterThanAvg(classc){
if(c==NULL||c->num==0){
puts("班級沒有人");
return;
}
studenttmp=c->list;
floatsum=0;
for(;tmp!=NULL;tmp=tmp->next){
sum+=tmp->grade;
}//統計總分
floatavg=sum/c->num;//平均分
classtmpClass=newClass();
for(tmp=c->list;tmp!=NULL;tmp=tmp->next){
if(tmp->grade>=avg){
studenttmpNode=(student)malloc(sizeof(Student));//一個臨時學生節點
memcpy(tmpNode,tmp,sizeof(Student));
append(tmpClass,tmpNode);
}
}
printf("平均分及以上的學生人數為:%d ",tmpClass->num);
output(tmpClass);
destroyClass(tmpClass);
}
//統計各分數段的學生人數及所佔百分比
voidshowGradeRange(classc){
if(c==NULL){
puts("班級沒有人");
return;
}
inti;
classcontainer[10];
for(i=0;i<10;i++){//初始化分數段班級容器
container[i]=newClass();
}

studenttmp=c->list;
for(;tmp!=NULL;tmp=tmp->next){
intindex=(int)tmp->grade%10;//區間
if(index>9)index=9;//大於90的算成一個區間
studenttmpStu=(student)malloc(sizeof(Student));
memcpy(tmpStu,tmp,sizeof(Student));
append(container[index],tmpStu);
}

for(i=0;i<10;i++){
intnum=container[i]->num;
printf("%d~%d的人數:%d,佔比:%.6g%% ",i*10,(i+1)*10,num,(float)(num*100)/c->num);
destroyClass(container[i]);
}
puts("");
}
//輸出最高分及學號
voidshowFirst(classc){
if(c==NULL||c->list==NULL)return;
studentmax=c->list;
studenttmp=max->next;
for(;tmp!=NULL;tmp=tmp->next){
if(tmp->grade>max->grade)max=tmp;
}
printf("最高分:%.2g,學號:%d ",max->grade,max->id);
}

voidoutput(classc){
if(c==NULL)return;
puts("名單:");
studenttmp=c->list;
for(;tmp!=NULL;tmp=tmp->next){
printf("%s ",tmp->name);
}
puts("");
}

代碼有點長....

Ⅸ C語言編程題,若函數形參為一維數組作函數參數編寫函數,統計某一維數組中非0元素的個數

#include <stdio.h>

int func(int a[],int n)

{

int i,cnt;

for(cnt=0,i=0;i<n;++i)

if(a[i])

cnt++;

return cnt;

}

int main()

{

int a[10]={0,1,2,3,4,5,6,7,8,9};

printf("%d ",func(a,10));

return 0;

}

Ⅹ c語言編程題在主函數中定義一個一維數組,把若干個人(人數自

#include<stdio.h>

#define N 100

int fun(float *a,float *b,float *c,int n) { int i,n1,n2; float av;

av=0; for ( i=0;i<n;i++ ) av+=a[i];

av/=n; n1=n2=0;

for ( i=0;i<n;i++ ) if ( a[i]>av ) { b[n1]=a[i]; n1++; } else { c[n2]=a[i]; n2++; }

return n1;

}

void main() { float a[N],b[N],c[N]; int i,na,nb,nc;

scanf("%d",&na); for ( i=0;i<na;i++ ) scanf("%f",&a[i]); if ( n<=0 ) exit(0);

nb=fun(a,b,c,na); nc=na-nb;

for ( i=0;i<nb;i++ ) printf("%.1f ",b[i]); printf(" ");

for ( i=0;i<nc;i++ ) printf("%.1f ",c[i]); printf(" ");

}