C语言 急啊

(1)写一个函数,将a数组中大于x的元素依次存放到数组b中,函数返回b数组元素的个数。

(2)写一个函数,将s字符串下标位置为奇数且Ascii码值为奇数的字符复制到字符数组t.

例如:s所指的字符串“ABJKE123HGF”,则t数组的元素"K13G"

第1个回答  2012-05-26
#include<stdio.h>
int fun(int a[100], int b[100], int x, int m)
{
int j, sum = 0;
for (j = 0; j < m; j++)
if (a[j] > x)
b[sum++] = a[j];

return sum;
}
int main()
{

int a[100], b[100];
int x, m, sum;
int i;
printf("请确定数组a的元素个数:");
scanf("%d",&m);
for (i = 0; i < m; i++)
scanf("%d",&a[i]);
printf("x=");
scanf("%d",&x);
sum = fun(a, b, x, m);
printf("sum=%d\n",sum);

return 0;
}

#include<stdio.h>
#include<string.h>
void fun(char a[100], char t[100])
{
int i, k = 0;
for (i = 1; i < strlen(a); i = i + 2)
if (a[i] % 2 == 1)
t[k++] = a[i];
t[k] = '\0';
}
int main()
{
char a[100], t[100];

gets(a);
fun(a, t);
if (strlen(t) > 0)
printf("%s\n",t);
else
printf("无符合条件的字符");

return 0;
}
第2个回答  2012-05-27
int f(int *a,int *b,int n,int x) //要是知道a中元素的多少,那么传递参数n可以不要
{
int i,j=0;
for(i=0;i<n;i++)
if(a[i]>x)
b[j++]=a[i];
return j;
}

void f(char *s,char *t)
{
int i=1,j=0;
while(s[i])
{
if(s[i]%2==1)
t[j++]=s[i];
i+=2;
}
}
第3个回答  2012-05-26
(1)写一个函数,将a数组中大于x的元素依次存放到数组b中,函数返回b数组元素的个数。
int add(int *a,int n,int x)
{
int i,j=0,b[50];
for(i=0;i<n;i++)
if(a[i]>x)
{
b[j]=a[i];
j++;
}
return j;
}追问

这个我也搜索到了、、、还有一题

追答

if(i=0,i<strlen(s),i++)
{
if(i%2==1&&s[i]%2==1)
{
t[j++]=s[i]
}
}
主要代码的思路就是这样,你自己在整理一下

本回答被提问者和网友采纳
第4个回答  2020-01-13
第5个回答  2012-05-27
亲爱的莆院学子~~