1、请写函数proc(),其功能是:求正整数x和y的最大公约。
例如,程序执行时,若输入的两个正整数为12,24,则它们的最大公约数为12,最小公倍数为24。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所写的若干语句。
#include <stdio.h> int proc(int x,int y) { } int main() { int num1,num2,gcd; printf("nInput two numbers:n"); scanf("%d %d",&num1,&num2); gcd=proc(num1,num2); printf("Greatest common divisor:%dn",gcd); printf("Least common multiple:%dn",num1*num2/gcd); return 0; }
int r; while (x%y!=0) { r=x%y; x=y; y=r; } return y;
2、请编写函数proc(),其功能是:将str所指字符串中除下标为偶数、同时ASCIl码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFG12345,其中字符B的ASCIl码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCII码值为奇数,所在数组中的下标为偶数,因此不应当删除。依此类推,后t所指的数组中的内容应是ACEG。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所写的若干语句。
#include <stdio.h> void proc(char *str,char t[]) { } int main() { char str[100],t[100]; printf("nPlease enter string str:"); scanf("%s",str); proc(str,t); printf("nThe result is:%sn",t); return 0; }
int i,j=0; for (i=0;str[i]!='