题目:
1)求1000以内的质数
求1000以内所有的质数。质数:只能够1和它本身整除
#include <stdio.h>
int main(int argc, const char *argv[])
{
int x=0,i=0;
for(x=2;x<1000;x++)
{
for(i=2;i<x;i++)
{
if(x%i==0)
{
break;
}
}
if(x==i)
{
printf("%d是质数\n",x);
}
}
return 0;
}
运行结果:
2)三位不重复数
有 1 、 2 、 3 、 4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,j,k,count=0;
for(i=1;i<5;i++)
{
//printf("%d\n",i);
for(j=1;j<5;j++)
{
//printf("%d\n",i+10*j);
for(k=1;k<5;k++)
{
if(i!=j && i!=k && j!=k)
{
count++;
printf("%d\n",i+10*j+100*k);
}
}
}
}
printf("共有%d个\n",count);
return 0;
}
运行结果:
3)猴子吃桃问题
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 结果:peach=1534
#include <stdio.h>
int main(int argc, const char *argv[])
{
int peaches, day;
peaches = 1;
for (day = 9; day >= 1; day--) {
peaches = (peaches + 1) * 2;
}
printf("第一天共摘了 %d 个桃子。\n", peaches);
}
运行结果
4)判断最大值
定义一个无符号的整型数组,求数组中的最大值。
思路:int a1=10, a2=20, a3=5; 两两相比,求最大值
#include <stdio.h>
int main(int argc, const char *argv[])
{
unsigned arr[3]={10,20,5};
unsigned int i=0,temp;
if(arr[0]<arr[1])
{
temp=arr[0];
arr[0]=arr[1];
arr[1]=temp;
}
if(arr[0]<arr[2])
{
temp=arr[0];
arr[0]=arr[2];
arr[2]=temp;
}
printf("数组arr中的最大值是%u\n",arr[0]);
return 0;
运行结果: