/*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; }