當前位置:首頁 » 編程語言 » 十個數刪除特定數c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

十個數刪除特定數c語言

發布時間: 2022-08-10 02:57:32

A. c語言:在一組數中刪除指定的數(假設該組數中沒有重復數據) 求代碼

#include<stdio.h>

int main()

{int n=10,i,j,x,a[15]={1,2,3,4,5,6,7,8,9,10};

printf("請輸入要刪除的數:");

scanf("%d",&x);

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

if(a[i]==x)

{for(j=i;j<n-1;j++)

a[j]=a[j+1];

break;

}

if(i==n)printf("未找到要刪除的數! ");

else for(i=0,n--;i<n;i++)

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

printf(" ");

return 0;

}

B. c語言編程輸入10個整數,實現在這10個整數中查找某個整數,找到後將這個數刪除,若沒有找到

#include<stdio.h>
intmain()
{
inta[10];
intl_find;
intlogic=0;
printf("input10number ");
for(inti=0;i<10;i++)scanf("%d",&a[i]);
printf(":");
scanf("%d",&l_find);
for(i=0;i<10;i++)
{
if(a[i]==l_find)
{
logic=1;
for(intj=i;j<9;j++)a[j]=a[j+1];
break;
}
}
if(logic==1)
{
printf("數已刪除 ");
for(i=0;i<9;i++)printf("%d",a[i]);
}
elseprintf("沒有找到這個數 ");
}

C. C語言問題,任意輸入十個數,去掉其中最大值和最小值,求剩餘數的平均值,求教~

方法實現有多種:

一、最直觀的方式:

1、將輸入的十個數,存到數組中;

2、遍歷數組,找到最大值和最小值;

3、從數組中將最大值和最小值移除;

4、將剩餘的8個數值累加,並將和值除以8,得到平均值;

5、輸出結果。

二、優化方式:

分析原始演算法,需要循環多次,包括輸入,查找最值,移除,累加等。針對此,可以進行優化。

1、查找最大值和最小值可以通過一個循環完成;

2、由於只是要計算最終的平均值,所以可以不從數組移除,而是累加10個數的和值,再減去兩個最值;

3、輸入時可以不保存數組,而是輸入一個處理一個,降低空間開銷;

4、輸入時可以同時執行累加及查找最值操作。

三、經過優化,代碼可以書寫如下:

#include<stdio.h>
intmain()
{
floataver=0;
inti,n,max,min;
scanf("%d",&max);
aver=min=max;//輸入第一個數,當做初始的最大最小值。此時和值也為該值。
for(i=1;i<10;++i)//循環9次。
{
scanf("%d",&n);//輸入剩餘9個數。
aver+=n;//累加。
if(max<n)max=n;//查找最大值。
elseif(min>n)min=n;//查找最小值。
}
aver-=min+max;//在和值中減去兩個最值。
aver/=8;//計算平均值。
printf("%f ",aver);//輸出結果。
return0;
}

D. C語言編程,輸入10 個正整數到數組,刪除刪除其中的奇數,輸出

用%2取余計算確定是否是奇數。

sql">include<stdio.h>
voidmain(){
inti,num[10];
for(i=0;i<10;i++){
printf("請輸入第%d個數:",(i+1));
scanf("%d",num[i]);
}
printf("刪除奇數後的數組為:");
for(i=0;i<10;i++){
if(num[i]%2==0){
printf("%d,"num[i]);
}
}
}

E. 用C語言寫出程序。輸入10個數字,在刪除其中一個數字。然後輸出剩下的九個數字

兩種方法。
1、正常的方法。定義10個元素的數組,然後先輸入。然後輸入刪除的數字,遍歷數組,找到這個元素,然後將後面的元素一次向前移動一位,然後輸出前9個數字。

2、偷懶的方法。定義10個元素的數組,然後先輸入。然後輸入刪除的數字,直接遍歷輸出數組,輸出前先判斷是否等於刪除的數字,等於的話,直接continue就可以了。

F. C語言循環輸入10個數,存入數組,刪除指定數據

#include<stdio.h>

intmain(){
inta[]={23,12,34,52,35,53,32,34,52,11,24,56,73,21,24};
inti,j,x,n=sizeof(a)/sizeof(a[0]);
intflag=1;
for(i=0;i<n;++i)
printf("%d",a[i]);
printf(" 要刪除的數:");
scanf("%d",&x);
for(i=0;i<n&&flag;++i){
if(a[i]==x){
for(j=i;j<n-1;++j)
a[j]=a[j+1];
--n;
flag=0;
}
}
if(flag)printf("數組中沒有找到:%d,刪除失敗! ",x);
else{
printf("刪除%d後: ",x);
for(i=0;i<n;++i)
printf("%d",a[i]);
printf(" ");
}
return0;
}

G. C語言 已知10個整數,刪除其中所有大於等於1的數據,輸出剩餘數據和剩餘個數

#include"stdio.h"

intmain()

{

inta[10];

inti;

intsum=0;

printf("請輸入10個整數: ");

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

scanf("%d",&a[i]);

printf("刪除這10個數中大於等於1的數據後,餘下數據是: ");

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

{

if(a[i]<1)

{

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

sum++;

}

}

printf(" 剩餘數據個數為:%d ",sum);

}

結果:

H. c語言問題 輸入十個整數然後刪除一個

因為你的if(flag==1)
{for(i=0;i<=8;i++)
printf("%2d",a[i]);
printf("%d\n");}
最後的printf裡面多加了一個%d,應該是printf("\n");

I. 從鍵盤輸入10個數,刪除相同的數,用C語言怎樣編程

只說思路。
將這些數保存到一個數組里。
然後從第1個開始挨個跟後面的數相比較,如果有一樣的就將那個數後面的所有的數賦給它們前面的數,將數組下標減1.
最後按照下標大小循環輸出這個數組就可以了。