1.C语言问题 如果输入复数为!自动自动+2iagain1下面的抽签抽签判断复数格式是否正确的while会一直循环,怎么解决
2.求一个c++小程序源代码,源码源码用要求200行以上,自动自动杀神恶魔源码给100分,抽签抽签能用再加100
C语言问题 如果输入复数为!源码源码用zblog整站源码+2iagain1下面的自动自动判断复数格式是否正确的while会一直循环,怎么解决
c语言经典题:程序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.程序分析:字符共有个.不同字符,图形不一样.2.程序源代码:#include"stdio.h"main(){ chara,b;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>'a':(score>'b':'c');printf("%dbelongsto%c",score,grade);}程序题目:利用条件运算符的嵌套来完成此题:学习成绩>分的同学用A表示,-分之间的源码源码用用B表示,分以下的自动自动用C表示。1.程序分析:(a>b)?抽签抽签a:b这是条件运算符的基本例子。2.程序源代码:main(){ intscore;chargrade;printf("pleaseinputascore\n");scanf("%d",源码源码用&score);gradescore>?'A':(score>?'B':'C');printf("%dbelongsto%c",score,grade);}程序题目:输入两个正整数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);}程序题目:输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数.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);}程序题目:两个乒乓球队进行比赛,各出三人.甲队为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]);}程序题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出.2.程序源代码:main(){ floata[3][3],sum0;inti,j;printf("pleaseinputrectangleelement:\n");for(i0;i)againtrue;elseagainfalse;}}程序题目:宏#define命令练习(1)程序源代码:#include"stdio.h"#defineTRUE1#defineFALSE0#defineSQ(x)(x)*(x)voidmain(){ intnum;intagain1;printf("\:Programwillstopifinputvaluelessthan.\n");while(again){ printf("\:Pleaseinputnumber>");scanf("%d",&num);printf("\:Thesquareforthisnumberis%d\n",SQ(num));if(num>)againTRUE;elseagainFALSE;}}程序题目:宏#define命令练习(2)程序源代码:#include"stdio.h"#defineexchange(a,b){ \/*宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上"\"*/intt;\ta;\ab;\bt;\}voidmain(void){ intx;inty;printf("x%d;y%d\n",x,y);exchange(x,y);printf("x%d;y%d\n",x,y);}程序题目:宏#define命令练习(3)程序源代码:#definelag>#definesmay)x:y#defineminimum(x,y)(x>y)y:xvoidmain(){ inta,b;#ifdefmaxprintf("\:thelargeroneis%d\n",maximum(a,b));#elseprintf("\:theloweroneis%d\n",minimum(a,b)
求一个c++小程序源代码,要求行以上,自动自动svn软件源码给分,抽签抽签能用再加
//=================================[说明]=======================================*/
//学生成绩管理
//文件名:main.cpp
//------!源码源码用!stlink firmware 源码!!!dedecms 源码下载!---------BOF-[程序代码开始]-------------------
#include<iostream>
#include<string>
using namespace std;
//=============<开始定义结构体>===================================================
struct combox
{
int num;
int mark;
string name;
combox *next;
};
//=============<结束定义结构体>===================================================
//=============<开始定义Commonbox类>==============================================
//-----类体开始------------------------
class Commonbox
{
private:
combox *head;
void Swap(combox *,combox *); //交换两个combox变量的数据域
void Print(combox *); //输出一combox指定的记录
combox *Find(int); //查找条例条件的记录,并返回该记录的指针
public:
Commonbox()
{
head=NULL;
}
int ListCount(); //统计当前链表的记录总数,返回一个整数
void AddItem(int num, string name, int mark); //添加一条记录到表尾
void RemoveItem(int); //删除一条指定的记录
void List(); //列出当前链表中的所有记录
void Sort(); //对当前链表进行排序
void Search(int); //在当前链表查找指定记录并输出
float Average(); //计算平均成绩
};
//-----类体结束------------------------
//-----类成员函数开始----------------------------------
int Commonbox::ListCount() //统计当前链表的记录总数,返回一个整数
{
if (! head)return 0;
combox *p=head;
int n=0;
while (p)
{
n++;
p=p->next;
}
return n;
}
void Commonbox::AddItem(int num, string name, int mark) //添加一条记录到表尾
{
if (! head)
{
head=new combox;
head->mark=mark;
head->num=num;
head->name=name;
head->next=NULL;
return;
}
combox *t=head;
while (t && t->num!=num)
t=t->next;
if (t)
{
cout<<"操作失败:学号为"<<num<<"的记录已经存在!"<<endl;
return;
}
combox *p=head;
while (p->next)p=p->next;
combox *p1=new combox;
p1->num=num;
p1->mark=mark;
p1->name=name;
p1->next=NULL;
p->next=p1;
return;
}
void Commonbox::RemoveItem(int num) //删除一条指定的记录
{
combox *t=Find(num);
if (! t)return;
combox *p=head;
//如果要删除的记录位于表头
if (head==t)
{
head=head->next;
delete p;
cout <<"成功删除学号为 "<<num<<" 的记录!"<<endl<<endl;
return;
}
while (p->next!=t)p=p->next;
combox *p1=p->next;
p->next=p1->next;
delete p1;
cout <<"成功删除学号为 "<<num<<" 的记录!"<<endl<<endl;
return;
}
void Commonbox::Print(combox *p) //输出一combox指定的记录
{
cout<<p->num<<"\t\t";
cout<<p->name<<"\t\t";
cout<<p->mark<<endl;
return;
}
void Commonbox::List() //列出当前链表中的所有记录
{
if (ListCount()==0)
{
cout <<"错误:当前的列表为空!"<<endl;
return;
}
combox *p=head;
cout<<"共有记录:"<<ListCount()<<endl;
cout<<"学号\t\t姓名\t\t分数"<<endl;
while (p)
{
Print(p);
p=p->next;
}
cout <<endl;
return;
}
void Commonbox::Search(int num) //在当前链表查找指定记录并输出
{
cout <<"Searching...."<<endl;
combox *p=Find(num);
if (p)
{
cout<<"学号\t\t姓名\t\t分数"<<endl;
Print(p);
}
cout <<endl;
}
combox *Commonbox::Find(int num)
{
if (ListCount()==0)
{
cout <<"错误:当前的列表为空!"<<endl;
return NULL;
}
combox *p=head;
while (p)
{
if (p->num==num)break;
p=p->next;
}
if (! p)
{
cout <<"错误:找不到该记录!\n";
return NULL;
}
return p;
}
void Commonbox::Swap(combox *p1, combox *p2) //交换两个combox变量的数据域
{
combox *temp=new combox;
temp->num=p1->num;
temp->mark=p1->mark;
temp->name=p1->name;
p1->num=p2->num;
p1->mark=p2->mark;
p1->name=p2->name;
p2->num=temp->num;
p2->mark=temp->mark;
p2->name=temp->name;
}
void Commonbox::Sort() //对当前链表进行排序
{
cout <<"Sorting..."<<endl;
if (ListCount()<2) return;
combox *temp=NULL,*p=NULL,*p1=NULL,*p2=NULL,*k=NULL;
int n=ListCount(),i,j;
p=head;
for (i=1;i<n;i++)
{
k=p;
p1=p->next;
for (j=0;j<n-i;j++)
{
if (k->num > p1->num)
{
k=p1;
}
p1=p1->next;
}
if (p!=k)Swap(k,p);
p=p->next;
}
cout <<"Complete successfully!"<<endl<<endl;
return;
}
float Commonbox::Average() //计算平均成绩
{
if (ListCount()==0)
{
cout <<"错误:当前的列表为空!"<<endl;
return -1;
}
int sum=0,n=0;
combox *p=head;
while (p)
{
sum += p->mark;
p=p->next;
n++;
}
return float(sum)/n;
}
//-----类成员函数结束----------------------------------
//=============<结束定义Commonbox类>==============================================
Commonbox student; //定义全局变量
int Menu()
{
cout <<"===========[主选单:]==========="<<endl;
int n=1,select=-1;
cout <<n++<<".输入学生成绩;"<<endl<<endl;
cout <<n++<<".按学号排序;"<<endl<<endl;
cout <<n++<<".按学号查找记录;"<<endl<<endl;
cout <<n++<<".删除由学号指定的记录;"<<endl<<endl;
cout <<n++<<".列出所有记录;"<<endl<<endl;
cout <<n++<<".计算平均成绩;"<<endl<<endl;
cout <<"0.退出;"<<endl<<endl;
cout <<"[请选择(输入相应数字)]:";
cin >>select;
return select;
}
char Exit() //返回一个字符患,用于确认退出
{
char s;
cout<<"确定要退出程序吗?[Y/N]:";
cin >>s;
return s;
}
void Input(int *num, string *name, int *mark) //输入学生信息
{
cout <<"请输入 学号 姓名 分数:";
cin >>*num;
if (*num==-1)return;
cin >>*name>>*mark;
return;
}
void AddNew() //增加记录
{
int num=0,mark=0;
string name="";
cout<<endl<<"当输入的学号为-1时表示结束输入."<<endl;
Input(&num, &name, &mark);
while (num!=-1)
{
student.AddItem(num,name,mark);
Input(&num, &name, &mark);
}
return;
}
void DoFind() //按学号查找
{
int num;
cout<<endl<<"当输入的学号为-1时表示结束输入."<<endl;
do
{
cout <<"请输入要查找的学生的学号: ";
cin>>num;
if (num==-1)continue;
student.Search(num);
}
while (num!=-1);
return;
}
void DoDelete() //删除记录
{
cout<<endl<<"当输入的学号为-1时表示结束输入."<<endl;
int num;
do
{
cout <<"请输入要删除的学生的学号:";
cin>>num;
if (num==-1)continue;
student.RemoveItem(num);
}
while (num!=-1);
return;
}
void ShowAverage() //输出平均数
{
float avr=student.Average();
if (avr>0)
{
cout<<"共有记录:\t"<<student.ListCount()<<endl<<endl;
cout<<"平均成绩:\t"<<avr<<endl<<endl;
}
return;
}
//-------