#include<stdio.h>
int delete(int d,int a[]);
int main(void)
{
int a[6]={3,2,1,4,5,6};
int d,i,pos;
printf("請輸入您要洗掉的數\n");
scanf("%d",&d);
pos=delete(d,a);
for(i=pos;i<5;i++)
{
a[i]=a[i+1];
}
for(i=0;i<5;i++)
{
printf("%d",a[i]);
}
return 0;
}
int delete(int d,int a[])
{
int j;
for(j=0;a[j]==d;j++)
{
}
return j;
}
目的是洗掉前五位數字其中一位,并讓其后的數字前進一位。但結果無論我輸入哪一位,被洗掉的都是第一位,求大佬指點
uj5u.com熱心網友回復:
delete是關鍵字,不能定義成函式。這個函式,for里面至少要有個‘;’。修改如下,供參考:#include<stdio.h>
int delete_my(int d,int a[],int n);
int main(int argc, char* argv[])
{
int a[6]={3,2,1,4,5,6};
int d,i,pos;
printf("請輸入您要洗掉的數\n");
scanf("%d",&d);
pos=delete_my(d,a,6);
if(pos<=5){
for(i=pos;i<5;i++)
{
a[i]=a[i+1];
}
pos=6-1;
}
for(i=0;i<pos;i++)
{
printf("%4d",a[i]);
}
system("pause");
return 0;
}
int delete_my(int d,int a[],int n)
{
int j;
for(j=0;j<n;j++){
if(a[j] == d ) break;
}
return j;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/230478.html
標籤:C語言
上一篇:如何利用單片機的串口(RS485)控制音樂模塊播放(求助貼)
下一篇:如何實作STL的雙向回圈鏈表?
