求解2道C语言编程题

2025-02-26 07:20:17
推荐回答(1个)
回答1:

#include
#include
#include
#define MAX 100

int main()
{
int i;
int data[MAX],len=10;
int index;
for (i=0;i data[i]=i;
printf("Input index for delete( <%d ):",len);
scanf("%d",&index);
if (index>len)
{
printf("index=%d is too large.",index);
printf("Press any key to exit:");
getch();
return 1;
}

printf("Before delete:\n");
for (i=0;i printf("%d ",data[i]);
printf("\n");

/*delete*/
for (i=index;i data[i-1]=data[i];
data[len-1]=0; /*clear*/
len--;

printf("After delete:\n");
for (i=0;i printf("%d ",data[i]);
printf("\n");

getch();
return 0;
}

==============================
#include
#include
#include

int main()
{
int i,n,odd=0,eve=0,prime=0;
void statistics(int n,int *odd,int *eve,int *prime);

printf("n=");
scanf("%d",&n);
if (n<1)
{
printf("n=%d <1",n);
printf("Press any key to exit:");
getch();
return 1;
}

for (i=0;i statistics(i,&odd,&eve,&prime);

printf("奇数=%d\t偶数=%d\t素数=%d\n",odd,eve,prime);

getch();
return 0;
}

void statistics(int n,int *odd,int *eve,int *prime)
{
int i,flag;
if (n%2==1)
(*odd)++;
else
(*eve)++;

for (i=2;i<=n/2;i++)
if (n%i==0)
break;
if (i>n/2)
(*prime)++;
}