女足欧洲杯直播:几个C程序题目

来源:百度文库 编辑:高考问答 时间:2024/04/28 18:49:40
1 编写一个指法练习程序,根据输入看用户正确与否.
2 输入一个4位数如1234,各位数字不同,用户猜其是不是正确,A表示位置正确与否,B表示数字正确与否.如输入2356,输出0A2B
谢谢!

第一道题:(随机产生N个字母,判断你的输入正确与否;能显示正确个数、错误个数和正确率)
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#define ESC 27
#define N 40 /*每行显示的字母数*/
main()
{
int i,n=N+1,letter[N],Mistake=0,Right=0;/*Mistake为错误个数,Right为正确个数*/
unsigned x,y;
char ch;
randomize();
clrscr();
do
{
if(n==N+1)
{
printf("\n\n");
for(i=0;i<N;i++)
{
letter[i]=random(25)+97;/*随机产生N个字母*/
printf("%-2c",letter[i]);
}
printf("\n");
n=1;
}
x=wherex();
y=wherey();
gotoxy(1,1);
printf("Right: %d + Mistake: %d = %d Correctness:%.2f%% \n\n",Right,Mistake,Right+Mistake,(Right)?(float)Right*100/(Right+Mistake):0);
gotoxy(x,y);
ch=getch();
if(ch==ESC)break;/*按下ESC键退出*/
printf("%c ",ch);
if(ch!=letter[n-1])
{
Mistake++;
sound(500);/*错误发声*/
sleep(1);/*持续1秒*/
nosound();/*结束发声*/
}
else Right++;
n++;
}while(1);
}

第二道题:
/*A为位置相同的数字个数,B为位置不同但数字相同的数字个数*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 8 /*最多只能猜N次*/
main()
{
int i,j,k,n,a[4],b[4],A,B;
randomize();
for(i=0;i<4;i++) /*随机产生4个数字,并保证互不相同*/
{
do
{
a[i]=random(9);
for(j=0;j<i;j++)
{
k=0;
if(a[i]==a[j]){k=1;break;}
}
if(!(k&&i))break;
}while(1);
}
do
{
do /*输入4个数字,并保证互不相同*/
{
printf("Your Guess :");
while(scanf("%1d%1d%1d%1d",&b[0],&b[1],&b[2],&b[3])==EOF);/*输入4位数字,如0123*/
if(b[0]==8&&b[1]==8&&b[2]==8&&b[3]==8){k=2;break;} /*如果输入4位数字都是8,将给出答案*/
if(!(b[0]||b[1]||b[2]||b[3])){k=3;break;} /*如果输入4位数字是0将会退出,不给出答案*/
}while(b[0]==b[1]||b[0]==b[2]||b[0]==b[3]||b[1]==b[2]||b[1]==b[3]||b[2]==b[3]);
if(k==2)printf("The guessed numerals are %d%d%d%d\n\n",a[0],a[1],a[2],a[3]); /*给出答案*/
if(k>1)break;
for(A=0,i=0;i<4;i++)if(a[i]==b[i])A++;
for(B=0,i=0;i<4;i++)for(j=0;j<4;j++)if(b[i]==a[j])B++;
B=B-A;
printf("%dA%dB\n",A,B);
if(A==4)break;
n++;
}while(n!=N);
if(k<2)
{
if(n==N) printf("Very sorry! The number of times that you guess is already over for %d times, so you can't continue again to guess!\n\n",N);
else printf("Congratulate you! You guessed right all numerals!\n\n");
}
printf("Press any key to exit...");
getch();
}

第二个题 :

#include<conio.h>
main()
{
char a[4],b[4];
int i,j;
int A=0,B=0;
printf("请输入一个数:");
for("i=0;i<4;i++)
a[i]=getch();
printf("可以叫其他人了!/n/t猜猜吧!");
for(i=1;i<4;i++)
b=getch();
for(i=1;i<4;i++)
{
if(a[i]=b[i])
A++;
for(j=1;j<4;j++)
if(a[i]=b[j])
B++;
}
if(A==4)
{
printf("%dA%dB",A,B);
printf("恭喜你,猜对了!);
}
else
{
printf("%dA%dB",A,B);
printf("再努力吧!");
}
}