3.输入m和n,输出最大公约数和最小公倍数
#include<stdio.h>
int main()
{
int p,r,n,m,temp;
printf("input n and m:");
scanf("%d%d",&n,&m);
if(n<m)
{
temp=n;
n=m;
m=temp;
}
p=n*m;
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
printf("%d\n",n);//最大公约数
printf("%d",p/n);//最小公倍数
return 0;
}
4.输入字符,统计英文字母、空格、数字、其他字符
#include<iostream>
using namespace std;
int main()
{
char x[50]={0};
int letter=0;
int space=0;
int num=0;
int other=0;
cin.getline(x,50);
for(int i=0;x[i]!='\0';i++)
{
if(x[i]>='a'&&x[i]<='z'||x[i]>='A'&&x[i]<='Z')
letter++;
else if(x[i]==' ') space++;
else if(x[i]>='0'&&x[i]<='9') num++;
else other++;
}
printf("%d\n%d\n%d\n%d\n",letter,space,num,other);
return 0;
}
5.求Sn
#include<stdio.h>
#include<math.h>
int main()
{
int a,n;
a=n=0;
int sum_a=0;
int sum=0;
scanf("%d%d",&a,&n);
for(int i=0;i<n;i++)
{
sum_a+=a*pow(10,i);
sum+=sum_a;
}
printf("%d",sum);
return 0;
}
6.1!+2!+3!....+n!
#include<stdio.h>
#include<math.h>
int main()
{
int n=0;
int sum_n=1;
int sum=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
sum_n=sum_n*i;
sum+=sum_n;
}
printf("%d",sum);
return 0;
}
8.水仙花数
#include<stdio.h>
int main()
{
int a,b,c;
a=b=c=0;
for(int num=100;num<1000;num++)
{
a=num/100;
b=(num-100*a)/10;
c=num-a*100-b*10;
if(num==(a*a*a+b*b*b+c*c*c))
printf("%d\n",num);
}
return 0;
}
9.完数
#include<stdio.h>
int main()
{
int yinzi=0;
for(int i=1;i<1000;i++)
{
int sum=0;
for(int j=1;j<i;j++)
{
if(i%j==0)
sum+=j;
}
if(sum==i)
{ printf("%d its factors are",i);
for(j=1;j<i;j++)
{
if(i%j==0)
{
printf("%d ",j);
}
}
printf("\n");
}
}
return 0;
}
10.分数序列,求20项之和
#include<stdio.h>
int main()
{
int n=0;
scanf("%d",&n);
float a=2;
float b=1;
float t=0;
float sum=2;
float result=0;
for(int i=2;i<=n;i++)
{
t=b;
b=a;
a=a+t;
result=a/b;
sum+=result;
}
printf("%5.2f",sum);
return 0;
}
11.100m自由落下的球,10次后的高度和经过多少米。
#include<stdio.h>
int main()
{
int h=100;
int sum=0;
int n=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
h=h-h/2;
if(i==1)
sum+=2*h;
if(i>1)
sum+=4*h;
}
printf("%d\n%d\n",h,sum);
return 0;
}