
请教高手,帮忙编写一个简单的c程序,采纳答案后有追加。。 50
有意者,联系邮箱svdsvsvdsv@126.com,万分感谢。题目我在邮箱中告诉。。。能帮忙的联系下我邮箱...
有意者,联系邮箱svdsvsvdsv@126.com,万分感谢。
题目我在邮箱中告诉。。。能帮忙的联系下我邮箱 展开
题目我在邮箱中告诉。。。能帮忙的联系下我邮箱 展开
2个回答
展开全部
做一个小程序,那就发个课程设计的给你吧,《猜数字》
#include
#include
#include
#define MAXTIMES 8
#define winer 1
#define loser 0
int main()
{
int aid[4],num[4],i,j,times,key,key2,A,B;
char ch;
time_t now;
Initialize:now=time(0);
srand(now);
aid[0]=(rand()+90)%10;/*生成目标数组*/
delay(20);
aid[1]=(rand()+90)%10;
delay(20);
aid[2]=(rand()+90)%10;
delay(20);
aid[3]=(rand()+90)%10;
for(i=0;i<4;i++) /*判断是否产生相同的数字*/
{for(j=0;j<4;j++)
{if((i!=j)&&(aid[i]==aid[j]))
goto Initialize;
}
}
printf(nnn);
times=1;
while(times<=MAXTIMES) /*程序主体部分*/
{
key=0;
key2=0;
printf(NO.%d:ntPlease input 4 different int numbers to play!nt,times);
scanf(%d,%d,%d,%d,&num[0],&num[1],&num[2],&num[3]);
for(i=0;i<4;i++) /*判断所输数字是否合法则*/
{
if(!((num[i]<=9)&&(num[i]>=0)))
{
printf(tError!The numbers you input must be int numbers which from 0 to 9n);
key=1;
break;
}
}
if(key==1)
continue;
for(i=0;i<4;i++) /*判断是否输入了相同的数字*/
{
for(j=i+1;j<4;j++)
{
if(num[i]==num[j])
{printf(tError!The numbers you input must be different!n);
key2=1;
}
break;
}
}
if(key2==1)
continue;
A=0;
B=0;
for(i=0;i<4;i++) /*比较两组数字*/
{
if(num[i]==aid[i])
A++;
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(num[i]==aid[j])
B++;
}
}
B=B-A;
printf(tA%dB%dn,A,B);
if(A==4) /*游戏成功,提示并返回*/
{
printf(Congratulations!n);
printf(Press any key to exit.!na);
getch();
return(winer);
}
else /*这次不完全对,允许次数内重新猜*/
{
printf(ttPress ENTER to continue,or press A to see about answer and exit.n); /*选择是否放弃,看答案*/
ch=getch();
if(ch=='n')
{
continue;
}
if((ch=='a')||(ch=='A'))
{
printf(The four numbers:%d,%d,%d,%dn,aid[0],aid[1],aid[2],aid[3]);
getch();
return(loser);
}
}
times++;
}
printf(Sorry!You have lost all the chances!nPress any key to exit!n);
getch();
}
#include
#include
#include
#define MAXTIMES 8
#define winer 1
#define loser 0
int main()
{
int aid[4],num[4],i,j,times,key,key2,A,B;
char ch;
time_t now;
Initialize:now=time(0);
srand(now);
aid[0]=(rand()+90)%10;/*生成目标数组*/
delay(20);
aid[1]=(rand()+90)%10;
delay(20);
aid[2]=(rand()+90)%10;
delay(20);
aid[3]=(rand()+90)%10;
for(i=0;i<4;i++) /*判断是否产生相同的数字*/
{for(j=0;j<4;j++)
{if((i!=j)&&(aid[i]==aid[j]))
goto Initialize;
}
}
printf(nnn);
times=1;
while(times<=MAXTIMES) /*程序主体部分*/
{
key=0;
key2=0;
printf(NO.%d:ntPlease input 4 different int numbers to play!nt,times);
scanf(%d,%d,%d,%d,&num[0],&num[1],&num[2],&num[3]);
for(i=0;i<4;i++) /*判断所输数字是否合法则*/
{
if(!((num[i]<=9)&&(num[i]>=0)))
{
printf(tError!The numbers you input must be int numbers which from 0 to 9n);
key=1;
break;
}
}
if(key==1)
continue;
for(i=0;i<4;i++) /*判断是否输入了相同的数字*/
{
for(j=i+1;j<4;j++)
{
if(num[i]==num[j])
{printf(tError!The numbers you input must be different!n);
key2=1;
}
break;
}
}
if(key2==1)
continue;
A=0;
B=0;
for(i=0;i<4;i++) /*比较两组数字*/
{
if(num[i]==aid[i])
A++;
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(num[i]==aid[j])
B++;
}
}
B=B-A;
printf(tA%dB%dn,A,B);
if(A==4) /*游戏成功,提示并返回*/
{
printf(Congratulations!n);
printf(Press any key to exit.!na);
getch();
return(winer);
}
else /*这次不完全对,允许次数内重新猜*/
{
printf(ttPress ENTER to continue,or press A to see about answer and exit.n); /*选择是否放弃,看答案*/
ch=getch();
if(ch=='n')
{
continue;
}
if((ch=='a')||(ch=='A'))
{
printf(The four numbers:%d,%d,%d,%dn,aid[0],aid[1],aid[2],aid[3]);
getch();
return(loser);
}
}
times++;
}
printf(Sorry!You have lost all the chances!nPress any key to exit!n);
getch();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
//下面有两个版本 C 和 C++的。 你要哪个就拿吧,功能绝对能高分!!
//C语言版本 学生信息管理系统
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define MAXN 3000
class Stu
{
public:
char number[100];
char name[100];
double x,y,z;
double sum;
// void SetName() ;
// void SetNumber();
// void SetXYZ();
void SetInfo();
int GetSum() ;
void GetInfo();
//...........
};
void Stu::GetInfo()
{
GetSum();
puts("------------------------------------------");
printf("学号: %s 姓名: %s 语文: %.1lf 数学: %.1lf 英语: %.1lf 总分: %.1lf\n",number,name,x,y,z,sum);
puts("------------------------------------------");
}
int Stu::GetSum()
{
return ( sum = x+y+z ) ;
}
void Stu::SetInfo()
{
printf("学号: ");
scanf("%s",number);
printf("姓名: ");
scanf("%s",name);
printf("语文成绩 : ");
scanf("%lf",&x);
printf("数学成绩 : ");
scanf("%lf",&y);
printf("她妹的英语: ");
scanf("%lf",&z);
}
bool cmp_x (Stu * a, Stu * b)
{
return a->x > b->x;
};
bool cmp_y(Stu * a, Stu * b)
{
return a->y > b->y;
}
bool cmp_z(Stu * a, Stu * b)
{
return a->z > b->z;
}
bool cmp_sum(Stu * a, Stu * b)
{
return a->sum > b->sum;
}
bool Insert();
bool Delete();
bool Change();
bool Sort();
bool Claculate();
int Find();
int FindAsk();
Stu s[MAXN];
Stu * p[MAXN];
bool flag[MAXN];
int cnt = 0;
bool Insert()
{
if( cnt > MAXN )
{
printf("通讯录满了\n");
return false;
}
int i;
for( i = 0 ; i < MAXN && flag[i] ; i ++ );
p[cnt] = &s[i];
flag[i] = true;
p[cnt]->SetInfo();
cnt++;
return true;
}
bool Sort()
{
if( cnt == 0 )
{
printf("当前通讯录空\n");
return false;
}
char x = 'k';
printf("1--按 语文 的成绩排序\n");
printf("2--按 数学 的成绩排序\n");
printf("3--按 英语 的成绩排序\n");
printf("0--按 总 的成绩排序\n");
x = getchar();
while( ( x=='\n' || x==' ' || x=='\0' ) ) x = getchar();
switch( x )
{
case '1' : { sort(p,p+cnt,cmp_x); break; }
case '2' : { sort(p,p+cnt,cmp_y); break; }
case '3' : { sort(p,p+cnt,cmp_z); break; }
case '4' : { sort(p,p+cnt,cmp_sum); break; }
default : { x='|'; break; }
}
if( x!='|' )
for( int i = 0 ; i < cnt ; i++ )
{
p[i]->GetInfo();
}
return true;
}
bool Delete()
{
int i;
if( (i = Find()) != -1 )
{
for( int j = i; j<cnt ; j++ )
p[j] = p[j+1];
--cnt;
flag[i] = false;
return true;
}
return false;
}
bool Change()
{
int i;
if( (i = Find()) != -1 )
{
p[i]->SetInfo();
return true;
}
return false;
}
bool Claculate()
{
int i;
if( (i = Find()) != -1 )
{
printf("------------------------------------------\n");
printf("总分: %lf\n",p[i]->GetSum());
printf("------------------------------------------\n");
return true;
}
return false;
}
int Find()
{
char a[1000];
printf("学号: ");
scanf("%s",a);
int i;
for( i = 0 ; i < cnt && strcmp(p[i]->number,a) ; i ++ );
if( i >= cnt)
{
puts("查无此人");
return -1;
}
return i;
}
int FindAsk()
{
int i;
if( (i = Find()) != -1 )
{
p[i]->GetInfo();
return true;
}
return false;
}
int main()
{
memset(s,NULL,sizeof(s));
memset(flag,false,sizeof(flag));
char x=0;
while( x!='6' )
{
printf("1--输入\t2--修改\t3--计算");
puts("\t4--排序\t5--查询\t6--退出");
puts("----------------------------------------------------------");
x = getchar();
while( ( x=='\n' || x==' ' || x=='\0' ) ) x = getchar();
switch( x )
{
case '1' : { Insert(); break; }
case '2' : { Change(); break; }
case '3' : { Claculate(); break; }
case '4' : { Sort(); break; }
case '5' : { FindAsk(); break; }
case '6' : { break; }
case '7' : { Delete(); break; }
default : { break; }
}
}
return 0;
}
/*
//C++版本 学生信息管理系统
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
#define MAXN 3000
class Stu
{
public:
string number;
string name;
int x,y,z;
int sum;
// void SetName() ;
// void SetNumber();
// void SetXYZ();
void SetInfo();
int GetSum() ;
void GetInfo();
//...........
};
void Stu::GetInfo()
{
GetSum();
cout<<"------------------------------------------"<<endl;
cout<<"学号: "<<number<<" 姓名: "<<name<<" 语文: "<<x<<" 数学: "<<y<<" 英语 :"<<z<<" 总分: "<<sum<<endl;
cout<<"------------------------------------------"<<endl;
}
int Stu::GetSum()
{
return ( sum = x+y+z ) ;
}
void Stu::SetInfo()
{
cout<<"学号: ";
cin>>number;
cout<<"姓名: ";
cin>>name;
cout<<"语文成绩 : ";
cin>>x;
cout<<"数学成绩 : ";
cin>>y;
cout<<"她妹的英语: ";
cin>>z;
}
bool cmp_x (Stu * a, Stu * b)
{
return a->x > b->x;
};
bool cmp_y(Stu * a, Stu * b)
{
return a->y > b->y;
}
bool cmp_z(Stu * a, Stu * b)
{
return a->z > b->z;
}
bool cmp_sum(Stu * a, Stu * b)
{
return a->sum > b->sum;
}
bool Insert();
bool Delete();
bool Change();
bool Sort();
bool Claculate();
int Find();
int FindAsk();
Stu s[MAXN];
Stu * p[MAXN];
bool flag[MAXN];
int cnt = 0;
bool Insert()
{
if( cnt > MAXN )
{
cout<<"通讯录满了"<<endl;
return false;
}
int i;
for( i = 0 ; i < MAXN && flag[i] ; i ++ );
p[cnt] = &s[i];
flag[i] = true;
p[cnt]->SetInfo();
cnt++;
return true;
}
bool Sort()
{
if( cnt == 0 )
{
cout<<"空"<<endl;
return false;
}
char x = 'k';
cout<<"1--按 语文 的成绩排序"<<endl;
cout<<"2--按 数学 的成绩排序"<<endl;
cout<<"3--按 英语 的成绩排序"<<endl;
cout<<"0--按 总 的成绩排序"<<endl;
cin>>x;
switch( x )
{
case '1' : { sort(p,p+cnt,cmp_x); break; }
case '2' : { sort(p,p+cnt,cmp_y); break; }
case '3' : { sort(p,p+cnt,cmp_z); break; }
case '4' : { sort(p,p+cnt,cmp_sum); break; }
default : { x='|'; break; }
}
if( x!='|' )
for( int i = 0 ; i < cnt ; i++ )
{
p[i]->GetInfo();
}
return true;
}
bool Delete()
{
int i;
if( (i = Find()) != -1 )
{
for( int j = i; j<cnt ; j++ )
p[j] = p[j+1];
--cnt;
flag[i] = false;
return true;
}
return false;
}
bool Change()
{
int i;
if( (i = Find()) != -1 )
{
p[i]->SetInfo();
return true;
}
return false;
}
bool Claculate()
{
int i;
if( (i = Find()) != -1 )
{
cout<<"------------------------------------------"<<endl;
cout<<"总分: "<<p[i]->GetSum()<<endl;
cout<<"------------------------------------------"<<endl;
return true;
}
return false;
}
int Find()
{
string a;
cout<<"学号: "<<endl;
cin>>a;
int i;
for( i = 0 ; i < cnt && (p[i]->number != a) ; i ++ );
if( i >= cnt)
{
cout<<"查无此人"<<endl;
return -1;
}
return i;
}
int FindAsk()
{
int i;
if( (i = Find()) != -1 )
{
p[i]->GetInfo();
return true;
}
return false;
}
int main()
{
memset(s,NULL,sizeof(s));
memset(flag,false,sizeof(flag));
char x=0;
while( x!='6' )
{
cout<<"1--输入\t2--修改\t3--计算";
cout<<"\t4--排序\t5--查询\t6--退出"<<endl;
cout<<"----------------------------------------------------------"<<endl;
cin >> x;
switch( x )
{
case '1' : { Insert(); break; }
case '2' : { Change(); break; }
case '3' : { Claculate(); break; }
case '4' : { Sort(); break; }
case '5' : { FindAsk(); break; }
case '6' : { break; }
case '7' : { Delete(); break; }
default : { break; }
}
}
return 0;
}
*/
//C语言版本 学生信息管理系统
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define MAXN 3000
class Stu
{
public:
char number[100];
char name[100];
double x,y,z;
double sum;
// void SetName() ;
// void SetNumber();
// void SetXYZ();
void SetInfo();
int GetSum() ;
void GetInfo();
//...........
};
void Stu::GetInfo()
{
GetSum();
puts("------------------------------------------");
printf("学号: %s 姓名: %s 语文: %.1lf 数学: %.1lf 英语: %.1lf 总分: %.1lf\n",number,name,x,y,z,sum);
puts("------------------------------------------");
}
int Stu::GetSum()
{
return ( sum = x+y+z ) ;
}
void Stu::SetInfo()
{
printf("学号: ");
scanf("%s",number);
printf("姓名: ");
scanf("%s",name);
printf("语文成绩 : ");
scanf("%lf",&x);
printf("数学成绩 : ");
scanf("%lf",&y);
printf("她妹的英语: ");
scanf("%lf",&z);
}
bool cmp_x (Stu * a, Stu * b)
{
return a->x > b->x;
};
bool cmp_y(Stu * a, Stu * b)
{
return a->y > b->y;
}
bool cmp_z(Stu * a, Stu * b)
{
return a->z > b->z;
}
bool cmp_sum(Stu * a, Stu * b)
{
return a->sum > b->sum;
}
bool Insert();
bool Delete();
bool Change();
bool Sort();
bool Claculate();
int Find();
int FindAsk();
Stu s[MAXN];
Stu * p[MAXN];
bool flag[MAXN];
int cnt = 0;
bool Insert()
{
if( cnt > MAXN )
{
printf("通讯录满了\n");
return false;
}
int i;
for( i = 0 ; i < MAXN && flag[i] ; i ++ );
p[cnt] = &s[i];
flag[i] = true;
p[cnt]->SetInfo();
cnt++;
return true;
}
bool Sort()
{
if( cnt == 0 )
{
printf("当前通讯录空\n");
return false;
}
char x = 'k';
printf("1--按 语文 的成绩排序\n");
printf("2--按 数学 的成绩排序\n");
printf("3--按 英语 的成绩排序\n");
printf("0--按 总 的成绩排序\n");
x = getchar();
while( ( x=='\n' || x==' ' || x=='\0' ) ) x = getchar();
switch( x )
{
case '1' : { sort(p,p+cnt,cmp_x); break; }
case '2' : { sort(p,p+cnt,cmp_y); break; }
case '3' : { sort(p,p+cnt,cmp_z); break; }
case '4' : { sort(p,p+cnt,cmp_sum); break; }
default : { x='|'; break; }
}
if( x!='|' )
for( int i = 0 ; i < cnt ; i++ )
{
p[i]->GetInfo();
}
return true;
}
bool Delete()
{
int i;
if( (i = Find()) != -1 )
{
for( int j = i; j<cnt ; j++ )
p[j] = p[j+1];
--cnt;
flag[i] = false;
return true;
}
return false;
}
bool Change()
{
int i;
if( (i = Find()) != -1 )
{
p[i]->SetInfo();
return true;
}
return false;
}
bool Claculate()
{
int i;
if( (i = Find()) != -1 )
{
printf("------------------------------------------\n");
printf("总分: %lf\n",p[i]->GetSum());
printf("------------------------------------------\n");
return true;
}
return false;
}
int Find()
{
char a[1000];
printf("学号: ");
scanf("%s",a);
int i;
for( i = 0 ; i < cnt && strcmp(p[i]->number,a) ; i ++ );
if( i >= cnt)
{
puts("查无此人");
return -1;
}
return i;
}
int FindAsk()
{
int i;
if( (i = Find()) != -1 )
{
p[i]->GetInfo();
return true;
}
return false;
}
int main()
{
memset(s,NULL,sizeof(s));
memset(flag,false,sizeof(flag));
char x=0;
while( x!='6' )
{
printf("1--输入\t2--修改\t3--计算");
puts("\t4--排序\t5--查询\t6--退出");
puts("----------------------------------------------------------");
x = getchar();
while( ( x=='\n' || x==' ' || x=='\0' ) ) x = getchar();
switch( x )
{
case '1' : { Insert(); break; }
case '2' : { Change(); break; }
case '3' : { Claculate(); break; }
case '4' : { Sort(); break; }
case '5' : { FindAsk(); break; }
case '6' : { break; }
case '7' : { Delete(); break; }
default : { break; }
}
}
return 0;
}
/*
//C++版本 学生信息管理系统
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
#define MAXN 3000
class Stu
{
public:
string number;
string name;
int x,y,z;
int sum;
// void SetName() ;
// void SetNumber();
// void SetXYZ();
void SetInfo();
int GetSum() ;
void GetInfo();
//...........
};
void Stu::GetInfo()
{
GetSum();
cout<<"------------------------------------------"<<endl;
cout<<"学号: "<<number<<" 姓名: "<<name<<" 语文: "<<x<<" 数学: "<<y<<" 英语 :"<<z<<" 总分: "<<sum<<endl;
cout<<"------------------------------------------"<<endl;
}
int Stu::GetSum()
{
return ( sum = x+y+z ) ;
}
void Stu::SetInfo()
{
cout<<"学号: ";
cin>>number;
cout<<"姓名: ";
cin>>name;
cout<<"语文成绩 : ";
cin>>x;
cout<<"数学成绩 : ";
cin>>y;
cout<<"她妹的英语: ";
cin>>z;
}
bool cmp_x (Stu * a, Stu * b)
{
return a->x > b->x;
};
bool cmp_y(Stu * a, Stu * b)
{
return a->y > b->y;
}
bool cmp_z(Stu * a, Stu * b)
{
return a->z > b->z;
}
bool cmp_sum(Stu * a, Stu * b)
{
return a->sum > b->sum;
}
bool Insert();
bool Delete();
bool Change();
bool Sort();
bool Claculate();
int Find();
int FindAsk();
Stu s[MAXN];
Stu * p[MAXN];
bool flag[MAXN];
int cnt = 0;
bool Insert()
{
if( cnt > MAXN )
{
cout<<"通讯录满了"<<endl;
return false;
}
int i;
for( i = 0 ; i < MAXN && flag[i] ; i ++ );
p[cnt] = &s[i];
flag[i] = true;
p[cnt]->SetInfo();
cnt++;
return true;
}
bool Sort()
{
if( cnt == 0 )
{
cout<<"空"<<endl;
return false;
}
char x = 'k';
cout<<"1--按 语文 的成绩排序"<<endl;
cout<<"2--按 数学 的成绩排序"<<endl;
cout<<"3--按 英语 的成绩排序"<<endl;
cout<<"0--按 总 的成绩排序"<<endl;
cin>>x;
switch( x )
{
case '1' : { sort(p,p+cnt,cmp_x); break; }
case '2' : { sort(p,p+cnt,cmp_y); break; }
case '3' : { sort(p,p+cnt,cmp_z); break; }
case '4' : { sort(p,p+cnt,cmp_sum); break; }
default : { x='|'; break; }
}
if( x!='|' )
for( int i = 0 ; i < cnt ; i++ )
{
p[i]->GetInfo();
}
return true;
}
bool Delete()
{
int i;
if( (i = Find()) != -1 )
{
for( int j = i; j<cnt ; j++ )
p[j] = p[j+1];
--cnt;
flag[i] = false;
return true;
}
return false;
}
bool Change()
{
int i;
if( (i = Find()) != -1 )
{
p[i]->SetInfo();
return true;
}
return false;
}
bool Claculate()
{
int i;
if( (i = Find()) != -1 )
{
cout<<"------------------------------------------"<<endl;
cout<<"总分: "<<p[i]->GetSum()<<endl;
cout<<"------------------------------------------"<<endl;
return true;
}
return false;
}
int Find()
{
string a;
cout<<"学号: "<<endl;
cin>>a;
int i;
for( i = 0 ; i < cnt && (p[i]->number != a) ; i ++ );
if( i >= cnt)
{
cout<<"查无此人"<<endl;
return -1;
}
return i;
}
int FindAsk()
{
int i;
if( (i = Find()) != -1 )
{
p[i]->GetInfo();
return true;
}
return false;
}
int main()
{
memset(s,NULL,sizeof(s));
memset(flag,false,sizeof(flag));
char x=0;
while( x!='6' )
{
cout<<"1--输入\t2--修改\t3--计算";
cout<<"\t4--排序\t5--查询\t6--退出"<<endl;
cout<<"----------------------------------------------------------"<<endl;
cin >> x;
switch( x )
{
case '1' : { Insert(); break; }
case '2' : { Change(); break; }
case '3' : { Claculate(); break; }
case '4' : { Sort(); break; }
case '5' : { FindAsk(); break; }
case '6' : { break; }
case '7' : { Delete(); break; }
default : { break; }
}
}
return 0;
}
*/
更多追问追答
追问
还有个问题,能回答下不?
追答
尽管说。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询