1.下面的函数gcd(a,b)计算两个整数a和b的最大公因子。
num%den num (所有答案填写在此空内,答案间以空格隔开)
gcd(int num, int den)
{ int temp;
while( den )
{ temp = 填空1<blank>;
num = den;
den = temp;
}
return (填空2<blank>);
}
2.
下面程序的运行结果是 computerlanguage .
#include <stdio.h>
char *strc(char *str1, char *str2);
main()
{
char s1[80] = "computer", s2[] = "language", *pt;
pt = strc(s1, s2);
printf("%s\n", pt);
}
char *strc(char *str1, char *str2)
{
char *p;
for (p = str1; *p != ’\0’; p++);//这个for其实本质上是一种遍历
do {
*p++ = *str2++;
} while(*str2 != ’\0’);
*p = ’\0’;
return (str1);
}
3.
bi8boᯤ:
下面的程序实现从10个数中找成最大值和最小值 p q<10 max<=*q min>*q
int max, min;
find_max_min( int *p, int n )
{
int *q;
max = min = *p;
for(q=________;______;q++)
{
if(_____)
max = *q;
else
if(____)
min=*q;
}
}
main()
{
int i, num[10];
printf("intput 10 numbers:\n");
fprint(i=0;i<10;i++)
scanf("%d",%num[i]);
find_max_min(num,10);
printf("max=%d;min=%d\n",max, min);
bi8boᯤ:
这个为什么还要再引入一个q呢 用p不能直接比较吗
因为随着循环的进行 指针一开始指向的是数组首元素的地址 随着循环的进行,这个指针也在改变
所以需要新的指针,来把一开始的位置记录下来