c語言乒乓球比賽
1. c語言編程 (二)設計內容 1、兩個乒乓球隊進行比賽,各出3人。甲隊為
c語言經典100題:【程序1】題目:有1,2,3,4個數字,能組成多少個互不相同且無重復數字的三位數都是多少1.程序分析:可填在百位,十位,個位的數字都是1,2,3,4.組成所有的排列後再去掉不滿足條件的排列.2.程序源代碼:main(){inti,j,k;printf("\n");for(i1;i2)/*如果是閏年且月份大於2,總天數應該加一天*/sum++;printf("Itisthe%dthday.",sum);}【程序5】題目:輸入三個整數x,y,z,請把這三個數由小到大輸出.1.程序分析:我們想法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小.2.程序源代碼:main(){intx,y,z,t;scanf("%d%d%d",&x,&y,&z);if(x>y){tx;xy;yt;}/*交換x,y的值*/if(x>z){tz;zx;xt;}/*交換x,z的值*/if(y>z){ty;yz;zt;}/*交換z,y的值*/printf("smalltobig:%d%d%d\n",x,y,z);}【程序6】題目:用*號輸出字母c的圖案.1.程序分析:可先用'*'號在紙上寫出字母c,再分行輸出.2.程序源代碼:#include"stdio.h"main(){printf("helloc-world!\n");printf("****\n");printf("*\n");printf("*\n");printf("****\n");}【程序7】題目:輸出特殊圖案,請在c環境中運行,看一看,verybeautiful!1.程序分析:字元共有256個.不同字元,圖形不一樣.2.程序源代碼:#include"stdio.h"main(){chara176,b219;printf("%c%c%c%c%c\n",b,a,a,a,b);printf("%c%c%c%c%c\n",a,b,a,b,a);printf("%c%c%c%c%c\n",a,a,b,a,a);printf("%c%c%c%c%c\n",a,b,a,b,a);printf("%c%c%c%c%c\n",b,a,a,a,b);}【程序8】題目:輸出9*9口訣.1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列.2.程序源代碼:#include"stdio.h"main(){inti,j,result;printf("\n");for(i1;ib)a:b這是條件運算符的基本例子.2.程序源代碼:main(){intscore;chargrade;printf("pleaseinputascore\n");scanf("%d",&score);gradescore>90'a':(score>60'b':'c');printf("%dbelongsto%c",score,grade);}【程序15】題目:利用條件運算符的嵌套來完成此題:學習成績>90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。1.程序分析:(a>b)?a:b這是條件運算符的基本例子。2.程序源代碼:main(){intscore;chargrade;printf("pleaseinputascore\n");scanf("%d",&score);gradescore>90?'A':(score>60?'B':'C');printf("%dbelongsto%c",score,grade);}【程序16】題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數.1.程序分析:利用輾除法.2.程序源代碼:main(){inta,b,num1,num2,temp;printf("pleaseinputtwonumbers:\n");scanf("%d,%d",&num1,&num2);if(num1{tempnum1;num1num2;num2temp;}anum1;bnum2;while(b!0)/*利用輾除法,直到b為0為止*/{tempa%b;ab;btemp;}printf("gongyueshu:%d\n",a);printf("gongbeishu:%d\n",num1*num2/a);}【程序17】題目:輸入一行字元,分別統計出其中英文字母,空格,數字和其它字元的個數.1.程序分析:利用while語句,條件為輸入的字元不為'\n'.2.程序源代碼:#include"stdio.h"main(){charc;intletters0,space0,digit0,others0;printf("pleaseinputsomecharacters\n");while((cgetchar())!'\n'){if(c>'a'&&c'a'&&c'0'&&c0){x1(x2+1)*2;/*第一天的桃子數是第2天桃子數加1後的2倍*/x2x1;day--;}printf("thetotalis%d\n",x1);}【程序22】題目:兩個乒乓球隊進行比賽,各出三人.甲隊為a,b,c三人,乙隊為x,y,z三人.已抽簽決定比賽名單.有人向隊員打聽比賽的名單.a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單.1.程序分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,則表明此數不是素數,反之是素數.2.程序源代碼:main(){chari,j,k;/*i是a的對手,j是b的對手,k是c的對手*/for(i'x';ia[j])minj;tema[i];a[i]a[min];a[min]tem;}/*outputdata*/printf("Aftersorted\n");for(i0;iprintf("%5d",a[i]);}【程序38】題目:求一個3*3矩陣對角線元素之和1.程序分析:利用雙重for循環控制輸入二維數組,再將a[i][i]累加後輸出.2.程序源代碼:main(){floata[3][3],sum0;inti,j;printf("pleaseinputrectangleelement:\n");for(i0;i50)againtrue;elseagainfalse;}}【程序46】題目:宏#define命令練習(1)程序源代碼:#include"stdio.h"#defineTRUE1#defineFALSE0#defineSQ(x)(x)*(x)voidmain(){intnum;intagain1;printf("\40:.\n");while(again){printf("\40:Pleaseinputnumber>");scanf("%d",&num);printf("\40:Thesquareforthisnumberis%d\n",SQ(num));if(num>50)againTRUE;elseagainFALSE;}}【程序47】題目:宏#define命令練習(2)程序源代碼:#include"stdio.h"#defineexchange(a,b){\/*宏定義中允許包含兩道衣裳命令的情形,此時必須在最右邊加上"\"*/intt;\ta;\ab;\bt;\}voidmain(void){intx10;inty20;printf("x%d;y%d\n",x,y);exchange(x,y);printf("x%d;y%d\n",x,y);}【程序48】題目:宏#define命令練習(3)程序源代碼:#definelag>#definesmay)x:y#defineminimum(x,y)(x>y)y:xvoidmain(){inta10,b20;#ifdefmaxprintf("\40:thelargeroneis%d\n",maximum(a,b));#elseprintf("\40:theloweroneis%d\n",minimum(a,b)
2. 用C語言寫乒乓球程序
/*
A program for converting Pingpang scores.
Author: QQ
Version: 0.0
Date: 28/03/2008
Compiler: GCC
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define LINE 20
int check_valid(char *score) {//檢查輸入的合法性
int i;
for (i = 0; i<strlen(score); i++) {
if (*(score+i)=='W' ||*(score+i)=='w' ||*(score+i)=='l' ||*(score+i)=='L') continue;
else {
free(score);
printf("Invalid input!\n");
return -1;
};//if
};//for
return 0;
}
void convert(char *score, int scheme) {
int i,win,lose;
win = 0;
lose = 0;
for (i = 0; i<strlen(score); i++) {
if (*(score+i)=='W' ||*(score+i)=='w') win++;
else lose++;
if (win+lose==scheme) {//判斷總分是否是指定的分制
printf("%d:%d\n",win,lose);
win = 0;//輸出比分後清零
lose = 0;
}
};//for
if (win+lose!=0) printf("%d:%d\n",win,lose);//如果最後沒有打完輸出當前結果
}
int main(int argc, char **argv) {
char s[LINE];
char *score,*tmp;
score = strp("");
do{
scanf("%s",s);
tmp = strchr(s,'E');
if (tmp!=NULL) {
//printf("not null%c $$$",*tmp);
*tmp='\0';
};
strcat(score,s);
}
while(tmp==NULL) ;//從屏幕讀取賽況,直到讀到大寫E
//printf("%s\n",score);
if (check_valid(score)==-1) return -1;//檢查輸入合法性
convert(score,11);
printf("\n");
convert(score,21);
free(score);//釋放內存
return 1;
}
3. C語言題目:兩個乒乓球隊進行比賽
#include<stdio.h>
voidmain()
{
inti,j,k;
for(i='X';i<='Z';i++)
{
for(j='X';j<='Z';j++)
for(k='X';k<='Z';k++)
{
if(i!=j&&i!=k&&j!=k&&i!='X'&&k!='X'&&k!='Z')
{
printf("Avs%c,Bvs%c,Cvs%c ",i,j,k);
}
}
}
getch();
}
4. C++問題 兩個乒乓球隊進行比賽,各出3人。哪位幫忙看看,錯在哪
你的枚舉不完全,判斷也有問題。
正確代碼:
#include<iostream>
usingnamespacestd;
intmain()
{
charteamA[]={'A','B','C'};//把字母映射成012
charteamB[]={'X','Y','Z'};//把字母映射成012
for(inti=0;i<3;i++)//枚舉A的對手
for(intj=0;j<3;j++)//枚舉B的對手
for(intk=0;k<3;k++)//枚舉C的對手
{
if(i!=0&&k!=0&&k!=2//A不與X/C不與X,Z
&&i!=j&&j!=k&&k!=i)//保證ABC的對手是不同的
{
//輸出方案
cout<<teamA[0]<<'-'<<teamB[i]<<endl;
cout<<teamA[1]<<'-'<<teamB[j]<<endl;
cout<<teamA[2]<<'-'<<teamB[k]<<endl;
}
}
return0;
}
5. 求教C語言:兩個乒乓球隊進行比賽
#include<stdio.h>
intmain()
{
chari,j,k;//i是A的對手,j是B的對手,k是C的對手
for(i='x';i<='z';i++)
{
for(j='x';j<='z';j++)
{
if(i!=j)
{
for(k='x';k<='z';k++)
{
if(i!=k&&j!=k)
{
if(i!='x'&&k!='x'&&k!='z')
{
printf("A——%c B——%c C——%c ",i,j,k);
}
}
}
}
}
}
return0;
}
A——z
B——x
C——y
Pressanykeytocontinue
6. 用c++編一個3對乒乓球比賽名單的程序
C、C++代碼:
C++代碼:
#include<iostream>
using namespace std;
int main()
{
char i,j,k;
for(i='X';i<='Z';i++)//窮舉法
for(j='X';j<='Z';j++)
for(k='X';k<='Z';k++)
if(i!=j&&i!=k&&j!=k)//三人對手各不相同,這句排除相同的情況
if(i!='X'&&k!='X'&&k!='Z')//A說他不和X比賽,C說他不和X、Z比賽
{
cout<<"A--"<<i<<endl;
cout<<"B--"<<j<<endl;
cout<<"C--"<<k<<endl;
}
return 0;
}
C代碼:
#include<stdio.h>
int main()
{
char i,j,k;
for(i='X';i<='Z';i++)//窮舉法
for(j='X';j<='Z';j++)
for(k='X';k<='Z';k++)
if(i!=j&&i!=k&&j!=k)//三人對手各不相同,這句排除相同的情況
if(i!='X'&&k!='X'&&k!='Z')//A說他不和X比賽,C說他不和X、Z比賽
{
printf("A--%c\n",i);
printf("B--%c\n",j);
printf("C--%c\n",k);
}
return 0;
}
7. c語言編程問題
這題純粹是邏輯推理,可以用三重循環來完成。然後在內循環逐一判斷。但是我們可以先簡化一下,濾清思路:
1)因為c不和x,z比較=>只能和y比較(c對陣y,確定)
2)a不和x比,那麼a只可能和y和z。因為c已經和y,所以a也只能和z。
3)b從x開始循環判斷,跳過y,z兩種可能。只有x。
代碼如下:
#include<stdio.h>
#include<stdlib.h>
void
main()
{
printf("乒乓球比賽順序【可能情況】:\n");
for(char
b='x';b<'z';b+=2)
{
printf("c對陣y ");
printf("a對陣z ");
printf("b對陣%c ",b);
printf("\n\n");
}
system("pause");
}
8. C語言乒乓球比賽抽簽
C語言的
#include "stdio.h"
int main()
{char i,j,k; /* i是a的對手;j是b的對手;k是c的對手*/
for (i='X';i<='Z';i++)
for (j='X';j<='Z';j++)
if (i!=j)
for (k='X';k<='Z';k++)
if (i!=k && j!=k)
if (i!='X' && k!='X' && k!='Z')
printf("A--%c B---%c C--%c\n",i,j,k);
getchar();
return 0;
}
c++的
#include <iostream>
using namespace std;
int main()
{char i,j,k; /* i是a的對手;j是b的對手;k是c的對手*/
for (i='X';i<='Z';i++)
for (j='X';j<='Z';j++)
if (i!=j) for (k='X';k<='Z';k++)
if (i!=k && j!=k)
if (i!='X' && k!='X' && k!='Z')
cout<<"A--"<<i<<" B--"<<j<<" C--"<<k<<endl;
getchar();
getchar();
return 0;
}
9. c語言題目:乒乓球比賽
太強大了,
#include "stdio.h"
void main()
{
char i,j,k;/*i是a的對手,j是b的對手,k是c的對手*/
for(i='x';i<='z';i++)//i有三種對陣情況x-a,y-a,z-a,用循環遍歷
for(j='x';j<='z';j++)//j有三種對陣情況x-b,y-b,z-b,用循環遍歷
{
if(i!=j)//表示i 、j 不能為x,y,z三人中的同一個人
for(k='x';k<='z';k++)//k有三種對陣情況x-c,y-c,z-c,用循環遍歷
{
if(i!=k&&j!=k)//表示k、i、j不能為x,y,z三人中的同一個人
{
if(i!='x'&&k!='x'&&k!='z')//此乃題目條件:A說他不和X比(a!=x),而i 又非跟a比,所以i!='x';C說他不和X、Z比。即:i!='x'且k!='x'且k!='z'(同理)
printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);//經過以上排列,選擇,最終確定對手組合
}
}
}
}
10. C語言簡單問題:乒乓球比賽
#include "stdio.h"
void main()
{
char i,j,k;
for(i='x';i<='z';i++)
for(j='x';j<='z';j++)
if(i!=j)
{
for(k='x';k<='z';k++)
{
if(i!=k&&j!=k)
{
if(i!='x'&&k!='x'&&k!='z')
printf("a--%c,b--%c,c--%c",i,j,k);
}
}
}
}