从大到小输出三个数
int main()
{
int a=0;
int b=0;
int c=0;
scanf("%d%d%d",&a,&b,&c);//2 1 3
//算法实现
//a中放最大值
//b次之
//c中放最小
if(a<b)
{
int tmp=a;
a=b;
b=tmp;
}
if(a<c)
{
int tmp=a;
a=c;
c=tmp;
}
if(b<c)
{
int tmp=b;
b=c;
c=tmp;
}
printf("%d %d %d",a,b,c);
return 0;
}
打印3的倍数的数
写一个代码打印1--100之间所有3的倍数的数字
int main()
{
int i=0;
for(i=0;i<=100;i++)
{
if(i%3==0)
printf("%d ",i);
}
return 0;
}
最大公约数
给定两个数,求这两个数的最大公约数
int main()
{
int m=0;
int n=0;
int r=0;
scanf("%d%d",&m,&n);
while(m%n)
{
r=m%n;
m=n;
n=r;
}
printf("%d\m",n);
return 0;
}
打印闰年
打印1000年到2000年的闰年
int main()
{
int year=0;
int count=0;
for(year=1000;year<=2000;year++)
{
//判断year是否为闰年
//1.能被4整除并且不能被100整除是闰年
//2.能被400整除是闰年
if(year%4==0&&year%100!=0)
{
printf("%d ",year);
count++;
}
else if(year%400==0)
{
printf("%d ",year);
count++;
}
}
printf("\ncount=%d \m",count);
return 0;
}
打印素数
写一个代码打印100到200之间的素数
int main()
{
int i=0;
//sqrt___开平方的库函数
for(i=100;i<=200;i++)
{
//判断i是否为素数
//素数判断的规则
//试除法
//产生2->i-1
int j=0;
for(j=2;j<1;j++)
//for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
{
break;
}
}
if(j==i)
//if(j>sqrt(i))
{
printf("%d",i);
}
}
return 0;
}
数9的个数
计算1到100,9的出现次数
int main()
{
int i=0;
int count=0;
for(i=1;i<100;i++)
{
if(i%10==9)
count++;
if(i/10=9)
count++;
}
printf("sount=%d \n",count);
return 0;
}
分数求和
计算1/1-1/2+1/3-1/4+ 1/5+....1/99-1/100的值,打印出结果
int main()
{
int i=0;
double sum=0.0;
int flag=1;
for(i=1;i<=100;i++)
{
sum+=flag*1.0/i;
flag=-flag;
}
printf("lf\n",sum);
return 0;
}
求最大值
求10个整数中的最大值
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10};
int max=arr[0];//最大值
int i=0;
int sz=sizeof(arr)/sizeof(arr[0]);
for(i=1;i<sz;i++)
{
if(arr[i]>max)
{
max=arr[i];
}
}
printf("max=%d\n",max);
return 0;
}
乘法口诀表9*9
int main()
{
int i=0;
//确定打印9行
for(i=1;i<=9;i++)
{
//打印一行
int j=1;
for()
{
printf("%d*%d=%-2d",i,j,i*j);//%-2d是输出两位,并且-号代表向左对齐,+号代表向右对齐
}
printf("\n");
}
return 0;
}
猜数字游戏
1.电脑会生成一个随机数
2.猜数字
时间戳
当前计算机的时间-计算机的起始时间(1970.1.1.0:0:0)=(xxxx)秒
#inlcude<stdlib.h>
#include<time.h>
void menu()
{
printf("#####################\n");
printf("####1.play#####0.exit\n");
printf("#####################\n");
}
void game()
{
//RAND——max32767
//1.生成一个随机数
int ret=0;
//靠时间戳来设置随机数的生产起始点
//time_t time(time_t *timer)
//time_t
srand(unsigned int)time(NULL));
ret=rand()%100-1;//生成1-100随机数
//printf("%d\n",ret)
//2.猜数字
while(1)
{
printf("请猜数字");
scanf("%d",&guess);
if(guess>ret)
{
printf("猜大了\n");
}
else if(guess<ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你猜对了!!!!!\n");
break;
}
}
}
int main()
{
int input=0;
srand(unsigned int)time(NULL));
do
{
menu();
printf("请选择:");
scanf("%d",&input);
switch(input)
{
case 1:
game();//猜数字游戏
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
break;
}
}while(input);
return 0;
}
goto语句
C语言中提供了可以随意滥用的goto语句和标记跳转的标号
从理论上goto语句是没有必要的,实践中也没有goto语句也可以很容易的写出代码
但是某些场合下goto语句还是用的着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程,例如一次跳出两层或多层循环
这种情况使用break是达不到目的的。他只能从最内层循环退出到上一层的循环
for(...)
for(...)
{
for(...)
{
if(disaster)
goto error;
}
}
.......
error
if(disaster)
//处理错误情况
#include<stdlib.h>
#include<string.h>
int main()
{
char input[20]={0};
//shutdown-s -t 60关机
//system()__执行系统命令的
system("shutdown -s -t 60");
again:
printf("请注意,你的电脑将在1分钟内关机,如果输入:我是猪,就取消关机\n请输入:");
sancf("%s",input);
if(strcmp(input,"我是猪")==0)//比较两个字符串——strcmp()
{
system("shuntdown -a");
}
else
{
goto again;
}
return 0;
}