您的位置:首页 > 移动开发 > 微信开发

各种小程序:(运动员名次与谁是凶手等)

2016-07-07 19:23 766 查看
/*5位运动员参加10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第一,我第三
B选手说:我第二,E第四
C选手说:我第一,D第二
D选手说:C最后,我第三
E选手说:我第四,A第一
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=0;
int b=0;
int c=0;
int d=0;
int e=0;
int num=0;
for(a=1;a<=5;a++)
{
for(b=1;b<=5;b++)
{
for(c=1;c<=5;c++)
{
for(d=1;d<=5;d++)
{
for(e=1;e<=5;e++)
{
num=0;
if(((b==1)+(a==3)==1)&&
((b==2)+(e==4)==1)&&
((c==1)+(d==2)==1)&&
((c==5)+(d==3)==1)&&
((e==4)+(a==1)==1))
{//将a、b、c、d、e的名次放进一个数中
num|=(1<<(a-1));
num|=(1<<(b-1));
num|=(1<<(c-1));
num|=(1<<(d-1));
num|=(1<<(e-1));
while(num)//判断名次是否连续,连续则输出
{
if(num%2==0)
{
break;
}
num=num>>1;
}
if(num==0)
{
printf("a=%d b=%d c=%d d=%d e=%d\n",a,b,c,d,e);
}
}
}
}
}
}
}
system("pause");
return 0;
}


/*日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为四个嫌疑犯
的一个,以下为四个嫌疑犯的供词:
A说:不是我
B说:是C
C说:是D
D说:C在胡说
已知3个人说了真话,1个人说了假话,现在请根据这些信息,写一个程序
确定谁是凶手*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int killer=0;
for(killer='A';killer<='D';killer++)
{
if((killer!='A')+(killer=='C')+(killer=='D')+(killer!='D')==3)
{
printf("凶手killer=%c\n",killer);
break;
}
}
system("pause");
return 0;
}
简单小程序

数组初始化、清空、逆置

#include <stdio.h>
#include <stdlib.h>
void init(int arr[],int sz)
{
int i=0;
for(i=0;i<sz;i++)
{
arr[i]=i;
}
for(i=0;i<sz;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
void empty(int arr[],int sz)
{
int i=0;
for(i=0;i<sz;i++)
{
arr[i]=0;
}
for(i=0;i<sz;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
void reverse(int arr[],int sz)
{
int i=0;
int len=sz-1;
for(i=0;i<sz/2;i++)
{
int tmp=arr[i];
arr[i]=arr[len];
arr[len]=tmp;
len--;
}
for(i=0;i<sz;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
}
int main()
{
int arr[10];
int sz=sizeof(arr)/sizeof(arr[0]);
init(arr,sz);
reverse(arr,sz);
empty(arr,sz);
system("pause");
return 0;
}

乘法表

#include <stdio.h>
#include <stdlib.h>
void Print_Table(int row)
{
int i=0;
for(i=1;i<=row;i++)
{
int j=0;
for(j=1;j<=i;j++)
{
printf("%2d*%2d=%2d ",j,i,i*j);
}
printf("\n");
}
}
int main()
{
int row=0;
printf("请输入指定的行数:row=");
scanf("%d",&row);
Print_Table(row);
system("pause");
return 0;
}

两个数交换
#include <stdio.h>
#include <stdlib.h>
void Swap(int *pa,int *pb)
{
*pa=*pa+*pb;
*pb=*pa-*pb;
*pa=*pa-*pb;
}
int main()
{
int a=23;
int b=35;
printf("a=%d b=%d\n",a,b);
Swap(&a,&b);
printf("a=%d b=%d\n",a,b);
system("pause");
return 0;
}


判断闰年
#include <stdio.h>
#include <stdlib.h>
int Judge_Learyear(int year)
{
if(((year%4==0)&&(year%100!=0))||(year%400==0))
{
return 1;
}
return -1;
}
int main()
{
int year=0;
int ret=0;
printf("请输入年份:year=");
scanf("%d",&year);
ret=Judge_Learyear(year);
if(ret!=1)
{
printf("%d不是闰年\n",year);
}
else
{
printf("%d是闰年\n",year);
}
system("pause");
return 0;
}

判断素数
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int Is_Prime(int num)
{
int i=0;
for(i=2;i<=sqrt((double)num);i++)
{
if(num%i==0)
{
return -1;
}
}
return 1;
}
int main()
{
int num=0;
int ret=0;
printf("请输入一个数:num=");
scanf("%d",&num);
ret=Is_Prime(num);
if(ret!=1)
{
printf("%d不是素数\n",num);
}
else
{
printf("%d是素数\n",num);
}
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: