1、使用break求3-100中的质数
代码:
#include <stdio.h>
int main()
{
int i,n;
for(n=3;n<=100;n++) //计数
{
for(i=2;i<=n-1;i++)
{
if(n%i==0) //能够被整除不是质数
{
break;
}
}
if(i==n)
{
printf("%d是质数\n",n);
}
}
return 0;
}
运行效果:
2.输出3-100以内的完美数,(完美数:因子和(因子不包含自身)=数本身)
代码:
#include<stdio.h>
int main(int argc, const char *argv[])
{
int i;//传输
int a;//链接数
int sum;//和
for(i=3;i<=100;i++)
{ sum=0;
for(a=1;a<i;a++)
{
if(i%a==0)//求符合要求的因数,并求和
{
sum+=a;
}
}
if(sum==i)//求和与传输的i对比
{
printf("%d是完美数\n",i);
}
}
return 0;
}
运行效果:
3.打印字母图形
代码:
#include<stdio.h>
int main(int argc, const char *argv[])
{
int a;//打印空格
int b;//打印字母
int i=1;//行数
while(i<=6) //打印行数
{
b=1;
while(b<i) //打印空格
{
printf(" ");
b++;
}
for(b=70;b>=71-i;b--) //打印字母
{
putchar(b);
}
printf("\n");
i++;
}
return 0;
}
运行效果:
4.百钱买百鸡问题,一百元钱去买鸡,公鸡5元,母鸡3元,三只小鸡1元,问买一百只鸡,有多少种买法。
代码:
#include<stdio.h>
int main(int argc, const char *argv[])
{
int a;//公鸡
int b;//母鸡
int c;//小鸡
for(a=0;a<=20;a++)//假如100元全部买公鸡最多买20只
{
for(b=0;b<=33;b++)//假如100元全部买母鸡最多买33只
{
for(c=0;c<=100;c++)//假如100元全部买小鸡最多买100只
{
if(a+b+c==100&&a*5+b*3+c/3==100&&c%3==0)//判断总共买一百只鸡,要花费100元,并且小鸡的数量是3的倍数
{
printf("公鸡=%d,母鸡=%d,小鸡=%d\n",a,b,c);
}
}
}
}
return 0;
}
运行效果:
5、将data第[4]位清0,保持其他位不变
将data第[7]位置1,保持其他位不变
将data第[31:28]位清0,保持其他位不变
将data第[7:4]位置1,保持其他位不变
代码:
#include <stdio.h>
int main(int argc, const char *argv[])
{
int data; //数据
int p1=0x1; //变化一位的
int p2=0xF; //变化四位的
int a1,a2,a3,a4; //存储四次数据变化的
printf("请输入一个十进制数:");
scanf("%d",&data);
printf("数据%d由十进制转换为16进制为%#x\n",data,data); //转换数据类型到16进制
a1=data&~(p1<<4);
a2=data|(p1<<7);
a3=data&~(p2<<28);
a4=data|p2<<4;
printf("数据第4位清0,data=%#x\n", a1);
printf("数据第7位置1,data=%#x\n", a2);
printf("数据第[31:28]位清0,data=%#x\n", a3);
printf("数据第[7:4]位清0,data=%#x\n", a4);
return 0;
}
运行效果:
6.两个数交换的方法
首先定义三个数字分别是
a //存储数据1
b //存储数据2
temp //临时存储数据
最后过程为
temp=a;
a=b;
b=temp;
完成上面三次数据置换之后完成了数据a和b的数据交换。