1.打印100~200之间的素数
#include<stdio.h>
#include<math.h>
int main()
{
inti,j,n=0;
printf("100到200之间的素数有:\n");
for(i=100;i<=200;i++)
{
for(j=2;j<sqrt(i);j++)
{
if(i%j==0)
break;
else
{
if(j>sqrt(i)-1)
{
printf("%d",i);
n++;
if(n%5==0)
printf("\n");
}
else
continue;
}
}
printf("\n");
return 0;
}
2.输出乘法口诀表
#include<stdio.h>
int main()
{
inti,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%d",i,j,i*j);
}
printf("\n");
}
return0;
}
3.不允许创建临时变量,交换两个数的内容
#include<stdio.h>
int main()
{
inta,b;
printf("请输入两个数:\n");
scanf("%d%d",&a,&b);
a=a^b;
b=b^a;
a=a^b;
printf("a=%d,b=%d",a,b);
printf("\n");
return0;
}
不创建临时变量交换两个数的方法有好多种,异或,加减都可以。
4.求10个数中最大值
#include<stdio.h>
int main()
{
inta[10],i,max;
printf("请输入10个数字:\n");
for(i=0;i<9;i++){
scanf("%d",&a[i]);
}
printf("\n");
max=a[0];
for(i=1;i<9;i++)
{
if(max<a[i])
{
max=a[i];
}
}
printf("最大的数字是:%d\n",max);
return0;
}
5.将数组A中的内容和数组B中的内容进行交换
#include<stdio.h>
void swap(int *a,int *b,int n )
{
inti,tmp;
for(i=0;i<n;i++)
{
tmp=a[i];
a[i]=b[i];
b[i]=tmp;
}
}
void main()
{
intx[5]={1,2,3,4,5};
inty[5]={6,7,8,9,0};
inti,n=5;
swap(x,y,5);
printf("x:");
for(i=0;i<n;i++)
printf("%d",x[i]);
printf("\ny:");
for(i=0;i<n;i++)
printf("%d",y[i]);
printf("\n");
return0;
}
6.求两个数的最大公约数
#include<stdio.h>
int main()
{
inta,b,c,t;
printf("请输入2个数:\n");
scanf("%d%d",&a,&b);
if(a< b)
{
t=a;
a=b;
b=t;
}
c= a%b;
while(c!= 0)
{
a= b;
b= c;
c= a%b;
}
printf("这两个数的最大公约数为:%d\n",b);
return 0;
}
个人觉得写程序是循序渐进的,最重要的是多思考,多练习,每天积累一些方法,时间久了,了解的就多了,遇到编程题时就容易下手了。