c语言习题及答案 - 爱课程mooc 下载本文

输出每行的开头数字: \ 输出第m行n列中的值:\ 输入样例: 输出样例:

#include #include int i,j; int main() {

for(i=0; i<10; i++) printf(\ putchar('\\n'); for (i=0; i<10; i++) {

printf(\ for (j=0; j<10; j++)

printf(\ printf(\

}

return 0; }

12.4

最大公约数(4分)

题目内容:

按照如下函数原型编写子函数计算正整数a和b的所有公约数。第一次调用,返回最大公约数。以后只要再使用相同参数调用,每次返回下一个小一些的公约数。无公约数时,函数CommonFactors()返回-1,主函数中不输出任何信息。 函数原型: int CommonFactors(int a, int b) 程序运行结果示例1: Input a and b: 100,50↙

Common factor 1 is 50 Common factor 2 is 25 Common factor 3 is 10 Common factor 4 is 5 Common factor 5 is 2 Common factor 6 is 1

程序运行结果示例2: Input a and b: 7,-3↙

输入格式: \ 输出格式:

输出公约数: \ 输入提示信息:\ 输入样例: 输出样例:

#include

int MaxCommonFactor(int a,int b); int CommonFactors(int a, int b); int main() {

int a,b;

printf(\ scanf(\ if (a>0 &&b>0)

CommonFactors(a, b); return 0; }

int CommonFactors(int a, int b) {

int *gcd=(int *)malloc(sizeof(int)*512); int i;

int index = 1;

b = MaxCommonFactor(a, b); for(i=b; i>0; i--)

if((a%i == 0) && (b%i == 0)) gcd[index++] = i; gcd[0] = index;

for (i=1; i

printf(\ return gcd; }

int MaxCommonFactor(int a,int b) {

int temp;

if(a<=0||b<=0) return -1; while(b!=0) {

temp=a%b; a=b; b=temp; }

return a; }