C语言求高手啊

7.1 用指针作为参数编写函数实现字符串的复制
void copy_string(char *to, char *from)
{
for ( ; *from != ‘\0’; from++, to++)
{
...
}
*to = ...
}
7.2 编写程序,将一个整数字符串转换成一个整数输出,要求以函数的形式编写程序。
提示: 0 =‘0’ – ‘0’
1 = ‘1’ – ‘0’
2 = ‘2’ – ‘0’
……
7.3 编写下列函数:
int *find_largest(int a[], int n);
当传入长度为n的数组a时,函数将返回指向数组最大元素的指针。

第1个回答  2011-06-11
#include <stdio.h>
#include <math.h>

int is_prime(int num) /*判断num是否为素数,是则返回1,不是返回0*/
{
int i;

if(num <= 1)return 0;
for(i = 2; i <= sqrt(num); i++)
if(num%i==0)return 0;
return 1;
}

int fun(int num)
{
int ge = num%10; /*个位上的数字*/
int shi = num%100/10; /*十位上的数字*/
int bai = num%1000/100; /*百位上的数字*/

if((ge+shi)%10 == bai)return 1; /*个位上的数字加上十位上的数字除10的余数是否等于百位上的数字,是则返回1,否则返回0*/
else
return 0;
}

int main()
{
int n,m;
int count=0;
scanf("%d%d",&m,&n);

while(m<=n)
{
if(is_prime(m) && fun(m))
{
printf("%d ",m);
count ++;
if(count%8 == 0)printf("\n"); /*输出一行八个数字*/
}
m++;
}
return 0;
}
第2个回答  2011-06-09
一 第一空 *to=*from; 第二空 *to='\0';
二 void string(char*ss)
{
int *aa,i=0;
for(;*ss!='\0';i++,ss++)
{ *(aa+i)=*ss-'0'; printf("%d",*(aa+i));
}
*(aa+i)='\0';
}
三 int *find_largest(int a[], int n)
{
int max=a[0];int i;
for(i=0;i<n;i++)
{ if(a[i]>max) max=a[i];
}
printf("%d',max);
}
第3个回答  2011-06-09
7.1
*to=*from;
*to=0;

2---
#include <stdio.h>

int main(void)
{
int v = 0;
char s[] = "12334";
int i;

for (i = 0; s[i] != 0; ++i)
{
if (s[i] >= '0' && s[i] <= '9')
v = v*10+s[i]-'0';
else
break;
}
printf("%d\n", v);
return 0;
}

#include <stdio.h>

int *find(int a[], int n)
{
static int *p;
p = a;
int i;

for (i = 1; i < n; ++i)
{
if (*p < a[i])
{
p = &a[i];
}
}
return p;
}
int main(void)
{
int *v;
int s[5] = {1,2,3,3,4};

printf("%d\n", *(v=find(s, 5)));
return 0;
}
第4个回答  2011-06-09
1.void copy_string(char *to, char *from)
{
for ( ; *from != ‘\0’; from++, to++)
{
*to = *from;
}
*to = '\0';
}
2. int str2int(char *str)
{
char base = '0';
int rlt = 0;
for(; '\0' != *str; str++)
{
rlt = rlt*10 + *str - base;
}
return rlt;
}

3. int *find_largest(int a[], int n)
{
int *largest = a;
int i = 0;
for(; i < n; i++)
{
if(a[i] > *largest)
largest = a+i;
}
return largest;
}本回答被网友采纳
相似回答