遂宁c语言机器人编程真题

/*问题1:从键盘输入任意两个正整数X和Y,编程求两个数的最大公因数和最小公倍数。

*/

# include & ltstdio.h & gt

int main(void)

{

无符号int x,y,I,a,b;

Printf("请输入两个正整数x和y:");

scanf("%d %d ",& ampx & amp;y);

if(x & lt;2 | | y & lt2) {

Printf("无效输入\ n ");

返回0;

}

a = 0;b = 0;

for(I = 2;我& lt= x * y;i++) {

if(a = = 0 & amp;& ampx % i = = 0 & amp& ampy % I = = 0)a = I;

if(I % x = = 0 & amp;& ampI % y = = 0){ b = I;打破;}

}

如果(a == 0)

Printf("%d和%d没有公因数。最小公倍数为% d. \n ",x,y,b);

其他

printf(" %d和%d的最大公因数是%d,最小公倍数是% d..\n”,x,y,a,b);

返回1;

}

/*第二个问题是10的数字。用冒泡法对这十个数字进行排序(从小到大)。

*/

# include & ltstdio.h & gt

int main(void)

{

int i,j,k;

int a[]={3,9,7,5,4,1,6,2,0,8 };

for(j = 0;j & lt10 ;j++ ) {

for(I = 0;我& lt10-j;i++)

if(a[I]& gt;a[i+1]) {

k = a[I];

a[I]= a[I+1];

a[I+1]= k;

}

}

for(I = 0;我& lt10 ;i++)

printf("%d ",a[I]);

printf(" \ n ");

返回0;

}

/*第三题

输入一行字符,并计算有多少个单词和空格。

*/

# include & ltstdio.h & gt

int main(void)

{

充电线[80];

int a = 0,b = 0,word = 0;

char * s = line

获取(行);

while(*s) {

如果((* s & gt= ' a ' & amp& amp* s & lt= ' z ')| |(* s & gt;= ' A ' & amp& amp* s & lt= ' Z '){

if(word == 0) {

word = 1;

a++;

}

s++;

继续;

}

if(*s == ' ' || *s == '\t' ) {

if(word)word = 0;

b++;

}

s++;

}

printf("%d个单词和%d个空格\n ",a,b);

返回0;

}