1.求两个数的最大公约数
辗转相除法
#include<stdio.h>
int main()
{
int m,n,r;
scanf("%d %d",&m,&n);
while(r!=0)
{
r=m%n;
m=n;
n=r;
}
printf("最大公约数是%d",m);
}
递归
#include<stdio.h>
fun(int m,int n)
{
if(m%n==0)
return n;
else
return(fun(n,(m%n)));
}
int main()
{
int m,n,r;
scanf("%d%d",&m,&n);
fun(m,n);
printf("最大公约数是%d",fun(m,n));
}
2将数组a中的内容和数组b中的内容进行交换(数组一样大)
#include<stdio.h>
int main()
{
int a[5]={11,22,33,44,55};
int b[5]={22,33,44,55,66};
int c[5];
for(int i=0;i<5;i++){
c[i]=a[i];
a[i]=b[i];
b[i]=c[i];
}
for(int i=0;i<5;i++)
printf("%d ",a[i]);
printf("\n");
for(int i=0;i<5;i++)
printf("%d ",b[i]);
}
3.计算1/1-1/2+1/3-1/4+1/5-…+1/99-1/100的值
#include<stdio.h>
int main()
{
int denominator;
float sum=0;//第一次真正意义上用float型定义变量
for(denominator=1;denominator<101;denominator++){
if(denominator%2==1)
sum+=1.0/denominator;
else
sum-=1.0/denominator;
}
printf(\n",sum);
}
4.编写程序数一下1到100的所有整数中出现多少次数字9
#include<stdio.h>
int main()
{
int a,b,i;
int count=0;
for(i=1;i<101;i++){
if(i%10==9)
count++;
if(i/9==9)
count++;
}
printf("1到100的所有整数中出现%d次数字9",count);
}
有一个小的思考点:用进制数取模是个位,用进制数相除是右移一位
5.
// *
//***
//*****
// *******
//*********
// *******
// *****
// ***
// *
#include<stdio.h>
int main()
{
int i,j,k;
for(i=1;i<6;i++){
for(k=1;k<6-i;k++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
for(i=4;i>=1;i--){
for(k=1;k<6-i;k++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
}
6.求出0~999之间的所有“水仙花数”并输出
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<1000;i++){
a=i%10;
b=(i/10)%10;
c=(i/100)%10;
if(i==a*a*a+b*b*b+c*c*c)
printf("%d是水仙花数!\n",i);
}
}
7.求Sn=a+aa+aaa+aaaa+aaaaa的前五项之和
#include<stdio.h>
int main()
{
int a,sum;
scanf("%d",&a);
sum=a*1+a*11+a*111+a*1111+a*11111;
printf("%d",sum);
}
循环方法
#include<stdio.h>
int main()
{
int sum,a,constant;
sum=0;
scanf("%d",&a);
constant=a;
for(int i=0;i<5;i++){
sum+=a;
a=a*10+constant;
}
printf("%d",sum);
}
8.编写一个程序,它从标准输入读取c的源代码,并验证所有的花括号都正确的成对出现。这里有一个getchar和putchar的简单用法
#include<stdio.h>
int main()
{
int ch;
int count;//定义一个计数器
count=0;
while((ch=getchar())!=EOF)
{
if(ch=='{')
count++;
else if(ch=='}'&&count==0){
printf("不好意思没有成功!");
}
else if(ch=='}'&&count!=0)
count--;
}
if(count==0)
printf("恭喜你配对成功!");
else
printf("不好意思没有成功!");
}
最后记一下最近的一下想法,感觉编程的学习就是一个低奖励机制的游戏,他并不能对你的付出及时的做出反馈,不想打游戏一样,打完boss就一定会爆出装备让你爽一下,所以我会坚持把码完的代码贴到博客上,记录自己的成长经历,也算是一种迎合奖励机制的过程,让自己也有那么一点成就感,当然不仅是编程,学习任何东西都是这样!