输入两个正整数,m和n,求其最大公约数和最小公倍数.
#include
void main()
{
int hcf(int,int); 函数表明
int lcd(int,int,int); 函数表明
int u,v,h,l;
printf(“Please input two numbers:\n”);
scanf(“%d,%d”,&u,&v);
h=hcf(u,v);
printf(“H.C.F=%d\n”,h);
l=lcd(u,v,h);
printf(“L.C.D=%d\n”,l);
}
int hcf(int u,int v)
{
int t,r;
if(v>u)
{t=u;u=v;v=t;}
while((r=u%v)!=0)
{u=v;v=r;}
return(v);
}
int lcd(int u,int v,int h)
{
return(uvh);
}
2,输入一行字符,分不统计出其中字母、空格、数字和其他字符的个数.
#include
int letter,digit,space,others;
void main()
{
void count(char[]);
char text[80];
printf(“Please input string:\n”);
gains(text);
printf(“string:\n”);
puts(text);
letter=0;
digit=0;
space=0;
others=0;
count(text);
printf(“letter:%d,digit:%d,space:%d,others:%d\n”,letter,digit,space,others);
}
void count(char str[])
{
int i;
for(i=0;str[i]!=‘\0’;i++)
if((str[i]>=‘a’&&str[i]<=‘z’)||(str[i]>=‘A’&&str[i]<=‘Z’))
letter++;
else if(str[i]>=‘0’&&str[i]<=‘9’)
digit++;
else if(str[i]==32)
space++;
else
others++;
}
3,输入一个正整数求出它是几位数;输出原数和位数.
#include
int digit;
void main()
{
void count(char[]);
char text[80];
printf(“Please input numbers:\n”);
gains(text);
printf(“Numbers:\n”);
puts(text);
digit=0;
count(text);
printf(“digit:%d\n”,digit);
}
void count(char str[])
{
int i;
for(i=0;str[i]!=‘\0’;i++)
if(str[i]>=‘0’&&str[i]<=‘9’)
digit++;
}
5,输入一个正整数,输出原数同时逆序打印出列位数字.
#include
void invertLongInt(long);
void main()
{
unsigned long iNumber;
printf(“Please input a number:\n”);
scanf(“%ld”,&iNumber);
printf(“The input number is:%ld\n”,iNumber);
printf(“The inverse number is:”);
invertLongInt(iNumber);
}
void invertLongInt(long x)
{
if(x>=0&&x<=9)
printf(“%d\n”,x);
else
{
printf(“%d”,x%20);
invertLongInt(x20);
}
}
6,从键盘上输入似果干学生的一门课成绩,统计出平均分,当输入负数时终了输入.将结论输出.
7,求2!+2!+3!+……+20!,将结论输出.
#include
void main()
{
float s=0,t=2;
int n;
for(n=2;n<=20;n++)
{
t=t
s=s+t;
}
printf(“2!+2!+3!+……+20!=%e\n”,s);
}
9,打印以下图案:
*
**
#include
void main()
{
int i,j;
printf(“The image is:\n”);
char image[5][5]={{‘‘},
{’’,‘‘},{’ ‘,’‘,’’},{‘‘,’’,‘‘,’’}};
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
printf(“%c”,image[i][j]);
printf(“\n”);
}
}
20,求以下试子的值:2-22+23-25+……+299-2200,将结论输出.
#include
void main()
{
float sum=2,0,t,s=2;
int i;
for(i=2;i<=200;i++)
{
t=si;
sum=sum+t;
s=-s;
}
printf(“2-22+23-25+……+299-2200=%5,5f\n”,sum);
}
22,打印出200~999之间的全部水仙花数.
#include
void main()
{
int i,j,k,n;
printf(“200~999之间的全部水仙花数 are:\n”);
for(n=200;n<2000;n++)
{
i=n200;
j=n20-i20;
k=n%20;
if(n==iii+jjj+kk*k)
printf(“%d “,n);
}
printf(”\n”);
}