C语言求助。急急
其实你现在在使用的百度就是一个很棒的老师,认认真真的自学,不会的地方,在百度里都会给你解决的方法。
#include<iostream.h>#include<string.h>
#include<fstream.h>
#include<iomanip.h>
class stu
{
char name[20];
double age,homephone,telphone;
char sex;
public:
stu(){}
stu(char n[20],char se,double ag,double ho,double te)
{
strcpy(name, n);
age=ag;
homephone=ho;
telphone=te;
}
friend void main();
};
void main()
{
cout<<"请选择您需要的操作!"<<endl;
cout<<"操作:"<<endl;
cout<<"(0)通讯录录入"<<endl;
cout<<"(1)增加人员"<<endl;
cout<<"(2)删除人员"<<endl;
cout<<"(3)修改数据"<<endl;
cout<<"(4)显示记录"<<endl;
cout<<"(5)退出"<<endl;
cout<<"选择相关操作请输入相对的括号里的阿拉伯数字!"<<endl;
stu *s[50];
int i=0;
int j=0;
bool flag2=0;
char p;
do
{
cin>>p;
if((p>='0'&&p<='5'))
flag2=1;
else
cout<<"指令错误!请重新输入:"<<endl;
}while(flag2==0);
switch(p)
{
case '0': //(0)通讯录录入
{
char name[20];
double age,homephone,telphone;
char sex,c;
do{
cout<<"请输入姓名:"<<endl;
cin>>name;
cout<<"请输入性别:"<<endl;
cin>>sex;
cout<<"请输入年龄:"<<endl;
cin>>age;
cout<<"请输入家里的电话号码:"<<endl;
cin>>homephone;
cout<<"请输入移动电话号码:"<<endl;
cin>>telphone;
j++;
s[i]=new stu(name, sex, age, homephone , telphone);
i++;
cout<<"数据录入成功,想继续录入吗(y/n)"<<endl;
cin>>c;
flag2=0;
do
{
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<<endl;
cin>>c;
}
else
flag2=1;
}while(flag2==0);
}while(c=='y');
break; }
////////////////////////////////////////////////////////////////////
case '1': //(1)增加人员(Add)
{
char name[20];
double age,homephone,telphone;
char sex,c;
do{
cout<<"请输入姓名:"<<endl;
cin>>name;
cout<<"请输入性别:"<<endl;
cin>>sex;
cout<<"请输入年龄:"<<endl;
cin>>age;
cout<<"请输入家里的电话号码:"<<endl;
cin>>homephone;
cout<<"请输入移动电话号码:"<<endl;
cin>>telphone;
j++;
s[i]=new stu(name, sex, age, homephone , telphone);
i++;
cout<<"数据录入成功,想继续录入吗(y/n)"<<endl;
cin>>c;
flag2=0;
do
{
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<<endl;
cin>>c;
}
else
flag2=1;
}while(flag2==0);
}while(c=='y');
break; }
case '2': //(2)删除人员(Delete)
{
char name[20];bool flag3=0;char c;
do{
cout<<"请输入您要删除的学生姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
flag3=1;
i--;
do{
s[h]=s[h+1];
h++;
}while(h<=i);
}
}
if(flag3==0)
cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!";
cout<<"要继续删除吗?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<<endl;
cin>>c;
}
}while(c=='y');
break; }
case '3': //(3)修改数据(Alter)
{
char name[20],se;double ag,ho,te;flag2=0;
char c;
do
{
cout<<"请输入您要修改的学生的姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
flag2=1;
cout<<"请输入性别:"<<endl;
cin>>se;
cout<<"请输入年龄:"<<endl;
cin>>ag;
cout<<"请输入家里的电话号码:"<<endl;
cin>>ho;
cout<<"请输入移动电话号码:"<<endl;
cin>>te;
s[h]->sex=se;
s[h]->age=ag;
s[h]->homephone=ho;
s[h]->telphone=te;
cout<<"数据修改成功!";
}
}
if(flag2==0)
{
cout<<"您要修改的学生本来就不存在!请检查重新输入!"<<endl;
}
cout<<"想继续修改吗(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<<endl;
cin>>c;
}
}while(c=='y');
break; }
case '4': //(4)显示记录(List)
{
cout<<"本系统所有通讯录的数据如下:"<<endl;
if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl;
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<
"性别:"<<" "<<s[k]->sex<<"年龄:"<<" "<<s[k]->age
<<"家里的电话号码:"<<" "<<s[k]->homephone<<"移动电话号码:"
<<" "<<s[k]->telphone<<endl;
}
break; } }
cout<<"您想继续进行其他操作吗?(y/n)"<<endl;
bool flag4=0;
do
{
cin>>p;
if(p!='y'&&p!='n')
cout<<"指令错误!请重新输入!"<<endl;
else
flag4=1;
}while(flag4==0);
if(p=='y')
cout<<"请输入操作代码(0 通讯录录入/1 增加人员(Add)/2 删除人员(Delete)/3 修改数据(Alter)/4 显示记录(List)/ 5 退出(Exit))"<<endl;
cin>>p;
for(int x=0;x<i;x++)
{
delete s[x];
cout<<"删除所有成员!"<<endl;
}
}
回答者:little_goblin - 初入江湖 三级 7-11 09:35
评价已经被关闭 目前有 1 个人评价
好
100% (1) 不好
0% (0)
对最佳答案的评论 共 1 条
看不懂
评论者: hanrenhui88 - 试用期 一级
其他回答 共 1 条
我自己前不久编写的一个通讯录,呵呵.
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
struct student
{
int no; /*学号*/
char name[20]; /*姓名*/
char acdamic[20]; /*院系*/
char major[20]; /*专业*/
char province[20]; /*籍贯*/
char address[40]; /*家庭地址*/
long phone; /*联系电话*/
struct student *next;
};
struct student *input();
void print(struct student *h);
struct student *insert(struct student *h);
struct student *del(struct student *h);
void find4(struct student *h);
void find3(struct student *h);
void find2(struct student *h);
void find1(struct student *h);
struct student *head=NULL;
char ch,*menu[]={"------------------通讯录菜单------------",
"1.----------建立学生通讯录---------------",
"2.----------输出全部学生通讯录---------------",
"3.----------增加的学生的个数---------------",
"4.----------删除指定学号的学生--------------",
"5.----------按系别查找学生信息-------------",
"6.----------按专业查找学生信息-------------",
"7.----------按姓名查找学生信息-------------",
"8.----------按学号查找学生信息--------------",
"9.----------退出通讯录-----------------------"};
struct student *input() /*输入函数*/
{
int n;
printf("请输入你要建立的学生通讯录的学生个数:\n");
scanf("%d",&n);
struct student *h=NULL,*p,*q;
int i;
for(i=1;i<=n;i++)
{
printf("请依次输入第%d个学生的学号,姓名,系别,专业,籍贯,家庭住址和联系电话:\n",i);
p=(struct student *)malloc(sizeof(struct student));
if(p==NULL)
{
printf("内存不足!\n");
exit(0);
}
scanf("%d%s%s%s%s%s%ld",&p->no,p->name,p->acdamic,p->major,p->province,p->address,&p->phone);
if(i==1)h=p;
else q->next=p;
q=p;
}
q->next=NULL;
return h;
}
void print(struct student *h) /*输出函数*/
{
struct student *p=h;
while(p)
{
printf("学生信息:\n%d,%s,%s,%s,%s,%s,%ld\n",p->no,p->name,p->acdamic,p->major,p->province,p->address,p->phone);
p=p->next;
}
}
struct student *insert(struct student *h) /*增加学生信息*/
{
int n;
printf("请输入你要增加的学生的个数:\n");
scanf("%d",&n);
struct student *p,*r;
int i;
for(i=1;i<=n;i++)
{
r=(struct student *)malloc(sizeof(struct student));
printf("请输入第%d个你要插入的学生的信息:\n",i);
scanf("%d%s%s%s%s%s%ld",&r->no,r->name,r->acdamic,r->major,r->province,r->address,&r->phone);
p=h;
h=r;
r->next=p;
}
return h;
}
struct student *del(struct student *h) /*按学号进行删除*/
{
int n;
printf("请输入要删除的学生的学号:\n");
scanf("%d",&n);
struct student *p,*q;
if(h=NULL)printf("empty list!\n");
else
{
p=h;
while(p->no!=n&&p->next)
{q=p;p=p->next;}
if(p->no==n)
{
if(h==p)h=p->next;
else q->next=p->next;
}
else printf("%d is not found!\n");
}
return h;
}
void find1(struct student *h) /*按院系查找学生信息*/
{
char s[40];
printf("请输入要查找的学生的院系:\n");
scanf("%s",s);
struct student *p;
if(h==NULL)printf("empty list!\n");
else
{
p=h;
while(p)
{
if(strcmp(p->acdamic,s)==0)
printf("学生信息:\n%d %s %s %s %s %s %ld\n",p->no,p->name,p->acdamic,p->major,p->province,p->address,p->phone);
p=p->next;
}
}
}
void find2(struct student *h) /*按专业查找*/
{
char s[20];
printf("请输入要查找的学生的专业名:\n");
scanf("%s",s);
struct student *p;
if(h==NULL)printf("empty list!\n");
else
{
p=h;
while(p)
{
if(strcmp(p->major,s)==0)
printf("学生信息:\n%d %s %s %s %s %s %ld\n",p->no,p->name,p->acdamic,p->major,p->province,p->address,p->phone);
p=p->next;
}
}
}
void find3(struct student *h) /*按姓名查找*/
{
char ss[10];
printf("请输入要查找的学生的姓名:\n");
scanf("%s",ss);
struct student *p;
if(h==NULL)printf("empty list!\n");
else
{
p=h;
while(p)
{
if(strcmp(p->name,ss)==0)
printf("学生信息:\n%d %s %s %s %s %s %ld\n",p->no,p->name,p->acdamic,p->major,p->province,p->address,p->phone);
p=p->next;
}
}
}
void find4(struct student *h) /*按学号查找*/
{
int num;
printf("请输入要查找的学生的学号:\n");
scanf("%d",&num);
struct student *p;
if(h==NULL)printf("empty list!\n");
else
{
p=h;
while(p)
{
if(p->no==num)
printf("学生信息:\n%d %s %s %s %s %s %ld\n",p->no,p->name,p->acdamic,p->major,p->province,p->address,p->phone);
else
printf("没有你要查找的学生信息!\n");
p=p->next;
}
}
}
int menu_select()
{
int i,s;
char c[3];
for(i=0;i<10;i++)
printf("%s\n",menu[i]);
do
{
scanf("%s",c);
s=atoi(c);
}while(s<0||s>9);
return s;
}
main()
{
for(;;)
{
switch(menu_select())
{
case 1:head=input();break;
case 2:print(head);break;
case 3:head=insert(head);break;
case 4:head=del(head);break;
case 5:find1(head);break;
case 6:find2(head);break;
case 7:find3(head);break;
case 8:find4(head);break;
case 9:exit(0);
}
}
}
希望对你有帮助。修改相应的名词就可以了。
/**************************************************
内容及要求:
1注册新职工,添加新职工的详细信息,
如:职工号,姓名,出生年份,性别,职称,部门,工资等;
2按姓名,部门等条件进行查询;
3修改和删除职工信息;
4按工资高低进行排序;
5把各项纪录存储在文本文件中。
----ky kuaidh00, 2008/01/05.-------------------
评说:有删除和增加的操作,最好选取链表来做。
**************************************************/
#include <string>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <memory.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;
struct Employee
{//声明职工的结构作为链表节点。
//-----数据域-----
string m_Code;
string m_Name;
unsigned short int m_Year;
string m_Sex;
string m_Post;
string m_Department;
unsigned int m_Wage;
//链表节点的指针域---
struct Employee* Next;
};
//-----个人习惯:取别名-------
typedef struct Employee Node;
typedef Node* Link;
//-------函数声明-------------
Link Create(Link Head);
void Release(Link Head);
Link Add(Link Head);
bool Search(Link Head);
Link Search_Unique(Link Head);
void Display_List(Link Head);
void Display_Node(Link pNode);
Link Modify(Link Head);
Link Del(Link Head);
void Save_ByFile(Link Head,fstream& ofile);
Link Sort(Link Head);
//-------函数实现--------------------------
Link Create(Link Head)
{//创建一个带头节点的空链表。
Head=(Link)new Node;
if(!Head)
{
cout<<"分配内存失败!"<<endl;
return NULL;
}
Head->m_Code="";
Head->m_Name="";
Head->m_Year=0;
Head->m_Sex="";
Head->m_Post="";
Head->m_Department="";
Head->m_Wage=0;
Head->Next=NULL;
return Head;
}
void Release(Link Head)
{//释放链表。
Link ptr;//声明一个操作用的指针。
while(Head!=NULL)
{
ptr=Head;
Head=Head->Next;
delete ptr;//释放节点资源。
}
}
Link Add(Link Head)
{//前插法添加数据。
Link pNew;// 声明一个新节点。
char again;
string code,name,sex,post,department;
unsigned short int year;
unsigned int wage;
do
{
pNew=(Link)new Node;
//数据域。
cout<<"请输入职工代码:";
cin>>code;
cout<<endl<<"请输入职工姓名:";
cin>>name;
cout<<endl<<"请输入职工出生年份:";
cin>>year;
while(cin.fail())
{
cout<<"请输入正确的年份格式。"<<endl;
cin.clear();
fflush(stdin);
cin>>year;
}
cout<<endl<<"请输入职工性别:";
cin>>sex;
cout<<endl<<"请输入职工职称:";
cin>>post;
cout<<endl<<"请输入职工部门:";
cin>>department;
cout<<endl<<"请输入职工工资:";
cin>>wage;
while(cin.fail())
{
cout<<"请输入正确的工资数据。"<<endl;
cin.clear();
fflush(stdin);
cin>>wage;
}
cout<<endl;
pNew->m_Code=code;
pNew->m_Name=name;
pNew->m_Year=year;
pNew->m_Sex=sex;
pNew->m_Post=post;
pNew->m_Department=department;
pNew->m_Wage=wage;
//指针域。
pNew->Next=Head->Next;
Head->Next=pNew;
cout<<"数据添加成功!是否继续添加?(Y/N)"<<endl;
cin>>again;
}while(again=='Y'||again=='y');
return Head;
}
bool Search(Link Head)
{//查询同时满足“姓名”和“部门”的职工信息。
Link ptr;
string department;
string name;
ptr=Head->Next;
cout<<"请输入部门:";
cin>>department;
cout<<endl<<"请输入姓名:";
cin>>name;
cout<<endl<<"----------------查询结果------------------"<<endl;
while(ptr)
{
if((ptr->m_Name==name)&&(ptr->m_Department==department))
{
Display_Node(ptr);//打印满足条件的节点。
return true;
}
ptr=ptr->Next;//查询下一节点。
}
cout<<"无此职工的信息。"<<endl;
return false;
}
Link Search_Unique_Front(Link Head)
{//查询满足“职工代码“的职工信息(职工代码必需唯一)。
Link ptr;
string code;
ptr=Head;
cout<<"请输入职工代码:";
cin>>code;
cout<<endl<<"----------------查询结果------------------"<<endl;
while(ptr->Next)
{
if(ptr->Next->m_Code==code)
//Display_Node(ptr);//打印满足条件的节点。
return ptr;//注意,是返回的查询到的节点的直接前趋节点。
ptr->Next=ptr->Next->Next;//查询下一节点。
}
return ptr;
}
void Display_List(Link Head)
{
Link ptr;
ptr=Head->Next;
cout<<"==================所有职工信息=================="<<endl;
while(ptr)
{
Display_Node(ptr);
ptr=ptr->Next;
}
}
void Display_Node(Link pNode)
{//在标准输出设备上输出。
cout<<setw(10)<<left<<pNode->m_Code
<<setw(10)<<left<<pNode->m_Name
<<setw(10)<<left<<pNode->m_Year
<<setw(10)<<left<<pNode->m_Sex
<<setw(10)<<left<<pNode->m_Post
<<setw(10)<<left<<pNode->m_Department
<<setw(10)<<left<<pNode->m_Wage<<endl;//setw(10)表示占10个字符位置。
}
Link Modify(Link Head)
{// 修改单一个节点。
Link ptr;
ptr=Search_Unique_Front(Head);
string code,name,sex,post,department;
unsigned short int year;
unsigned int wage;
if(ptr->Next)
{
cout<<"-------你现在可以修改此职工的信息了-------"<<endl;
//数据域。
cout<<"请输入职工代码:";
cin>>code;
cout<<endl<<"请输入职工姓名:";
cin>>name;
cout<<endl<<"请输入职工出生年份:";
cin>>year;
while(cin.fail())
{
cout<<"请输入正确的年份格式。"<<endl;
cin.clear();
fflush(stdin);
cin>>year;
}
cout<<endl<<"请输入职工性别:";
cin>>sex;
cout<<endl<<"请输入职工职称:";
cin>>post;
cout<<endl<<"请输入职工部门:";
cin>>department;
cout<<endl<<"请输入职工工资:";
cin>>wage;
while(cin.fail())
{
cout<<"请输入正确的工资数据。"<<endl;
cin.clear();
fflush(stdin);
cin>>wage;
}
cout<<endl;
ptr->Next->m_Code=code;//因ptr是前趋节点,所以要用ptr->Next;
ptr->Next->m_Name=name;
ptr->Next->m_Year=year;
ptr->Next->m_Sex=sex;
ptr->Next->m_Post=post;
ptr->Next->m_Department=department;
ptr->Next->m_Wage=wage;
}
cout<<"没找到此职工的记录,无法修改。"<<endl;
return Head;
}
Link Del(Link Head)
{
Link ptr;
Link ptr_front;
ptr_front=Search_Unique_Front(Head);
ptr=ptr_front->Next;
if(ptr)
{
ptr_front->Next=ptr->Next;
delete ptr;//删除此节点。
}
cout<<"没找到此职工的记录,无法删除。"<<endl;
return Head;
}
void Save_ByFile(Link Head,fstream& ofile)
{
Link pNode;
pNode=Head->Next;
ofile.clear();//清除文件结束状态。
while(pNode)
{
ofile<<setw(10)<<left<<pNode->m_Code
<<setw(10)<<left<<pNode->m_Name
<<setw(10)<<left<<pNode->m_Year
<<setw(10)<<left<<pNode->m_Sex
<<setw(10)<<left<<pNode->m_Post
<<setw(10)<<left<<pNode->m_Department
<<setw(10)<<left<<pNode->m_Wage<<endl;//setw(10)表示占10个字符位置。
pNode=pNode->Next;
}
cout<<"数据文件保存成功!"<<endl;
}
Link Sort(Link Head)
{//我创建的是带头节点的链表。用直接插入法。
if((Head->Next==NULL)||(Head->Next->Next==NULL))//此步条件判断非常有价值。
{
cout<<"数据节点数少于2个,不用排序!"<<endl;
return Head;
}
//-----------第二步;
Link ptr;
Link ptr_F;
Link ptr_N;
ptr=Head->Next->Next;
ptr_F=Head;
Head->Next->Next=NULL;//到此,分成了两个链表。
//第三步。
while(ptr)
{
ptr_N=ptr->Next;
ptr_F=Head;//ptr_F的归位。
while(ptr_F->Next)
{
if(ptr->m_Wage>ptr_F->Next->m_Wage)
{
ptr->Next=ptr_F->Next;
ptr_F->Next=ptr;
break;
}//if
else
{
ptr_F=ptr_F->Next;
}
}//while(ptr_F->Next)
if(ptr_F->Next==NULL)
{
ptr->Next=ptr_F->Next;
ptr_F->Next=ptr;//表示插到有序链表的最后面了。
}
ptr=ptr_N;//归位,准备下一次排序。
}//while(ptr)
cout<<"从高到低,排序成功!"<<endl;
return Head;
}
int main()
{
Link Head=0;
Head=Create(Head);
fstream iofile;
iofile.open("d:\\iofile.txt",ios_base::in|ios_base::out|ios_base::app);//文件以三种方式打开。
if(!iofile)
{
cout<<"打开文件失败!"<<endl;
return -1;
}
int menu;
while(1)
{
cout<<"*****************************************************"<<endl;
cout<<"*====================菜单选顶=======================*"<<endl;
cout<<"*===================================================*"<<endl;
cout<<"* 1.注册职工 2.修改信息 3.删除信息 4.信息查询 *"<<endl;
cout<<"* 5.保存文件 6.工资排行 7.信息显示 0.退出系统 *"<<endl;
cout<<"*****************************************************"<<endl;
cout<<endl<<"请选择相应操作菜单项:";
cin>>menu;
while(cin.fail())
{
cout<<"请选择正确的菜单选项。"<<endl;
cin.clear();
fflush(stdin);
cin>>menu;
}
switch(menu)
{
case 0:
cout<<"成功退出系统!"<<endl;
return 0;
case 1:
Head=Add(Head);
break;
case 2:
Head=Modify(Head);
break;
case 3:
Head=Del(Head);
break;
case 4:
Search(Head);
break;
case 5:
Save_ByFile(Head,iofile);
break;
case 6:
Sort(Head);
break;
case 7:
Display_List(Head);
break;
default:
cout<<"请选择正确的菜单项进行操作。多谢合作!"<<endl;
}
}
Release(Head);
iofile.close();
return 0;
}
++p->n由于没加括号,根据运算符的优先性,先计算->符,也就是p先指向arr数组的第一位(int
n)即200,++是先加后用,所以就是200+1=201
(++p)->n先算括号内的,即++p先加即指针p向下移动一位也指向(int
n)即300
++(*p->m)括号内为(*p->m)根据运算符优先性,先算括号内的p->m,由于上一个++p指针已指向下一位了,所以现在指针就指向的&f[1],这个表示取f[1]这个数的地址,*表示间接访问f[1]这个数是20,然后又是++,则为21
不懂就Q我
C语言求助。急急
cin>>c; if(c!='y'&&c!='n') { cout<<"指令错误!请重新输入!"<<endl; cin>>c; } }while(c=='y'); break; } case '4': \/\/(4)显示记录(List) { cout<<"本系统所有通讯录的数据如下:"<<endl; if(i==0) cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl; for(int k=0...
c语言求助 急急
for循环由三部分组成,例如for(int y=0;y<10;y++) {主体 } 其中int y=0 是初始条件,y<10是循环条件,y++是 变化条件。一般都是先看初始条件满足循环条件与否,再执行循环主体,最后是变化条件,再判断满足循环条件与否,一直下去,知道循环条件不成立 ...
C语言新手求助!!!急!!!
10个人围成一圈,编号依次从1到10.从编号为1的人开始从1到3报数,凡报数是3的人退出圈子.编写程序输出依次出列的人的编号.(用选择,循环语句以及数组知识编写)解析:新手当然要照顾了 所以一个代码一个代码的给你加注释。。看明白了最好自己在做一边 这题有很多做法 给你一个最好理解的例子吧...
c语言求助 !急!!!
这个和k和i在ASCII码表中的位置无关,在这里k和i只是两个变量名。这个函数的方式是逐个比较字符串s中的字符,判断是否与c值相同,如果不相同则保留,相同则删除。
C语言紧急求助!!!
但是这显然不是你想要的答案,因为你提到“while((c=getchar( ))!='\\n')这句很是不解,它是怎样来接收字符串的”以及“总之接收判断字符串这块很迷茫”。万分理解。C语言的输入输出较为底层,一些琐碎的细节都需要编程者有不错的掌握,否则连一个正常的程序都运行不起来。下面我就分步骤解答你的...
急!急!急!C语言求助
你运行程序输入的数据是在内存中,程序退出后,内存中的数据也就消失了!如果想第二次进入程序能看到,就要保存下来,如:装个数据库,存到数据库表中(这会涉及到数据库编程,不同的数据库编程IDE不同,较麻烦)。较为方便的方法是保存到一个文件中,下次运行程序时,从文件中读取数据。
c语言求助,急用
int max,min;if(a>b){ max=a;min=b;} else { max=b;min=a;} if(min>c)return min;else if(max<c)return max;else return c;
C语言问题求助!!!加急加急!!!急急急!拜托大神!!!
double B(int n) { int i; double r=1; for ( i=1;i<=n;i++ ) r*=i; return r; } double A(int n) { int i; double r=0; for ( i=1;i<=n;i++ ) r+=B(i); return r; } void main() { int n; double s; scanf("%d",&n); s=A(n); printf("%.0lf...
求助 谢谢!C语言调试程序~急急!
{ int i,c;c=0;for (i=1; i<=n; i++){ if ( a[i] > 22 )\/***>改成>=***\/ { c++;if ( c>=5 )return i-5;\/***i-5改成i-4***\/ else continue;} c=0;} return 0;} int main(){ int t[32]={0,20,21,22,22,19,18,18,19,22,23,22,21,...
c语言问题,急急急!!!
main(){ unsigned short a=65536;%这个就是无符号短整型变量 int b;printf("%d\\n",b=a) ;%把一个无符号变量赋给一个有符号的变量。运算后的结果为0 } 为什么结果为零呢?其实很简单:是这样的:有符号变量的取值范围为-32678~32767,无符号变量的取值范围0~65535.而你在这里的变量为65536,...
牢饼丹盛: int main () { int a=1,b=10; do { b-=a;a++; } while(b--<0); cout<<a<<endl<<b; } 这样执行根本就不循环,b--是先判断后作b=b-1,a=2,b=8;你题目出错了吧
博罗县19759332830: c语言求助 急急! - ?
牢饼丹盛: 程序能在c-free和vc++中运行#include<stdio.h>#define LEN 10 void yd(int a[],int len) { int cnt,r,total; for(cnt=0,total=0; cnt<len; cnt++) { total += a[cnt];//总分 累加 if(a[cnt] < 60) r++;//不及格人数} printf("不及格人数是%d人\n",r); printf("总...
博罗县19759332830: c语言 急急急啊 帮帮忙 - ?
牢饼丹盛: #include int main(void){int i,j,k;for(i=1;i<=4;i++){for(j=4-i;j>0;j--)printf(" ");for(k=1;k<=2*i-1;k++)printf("*");printf("\n...
博罗县19759332830: C语言求助 急! - ?
牢饼丹盛: #include #define N 32 //宏定义,32为学生人数,你可以根据要求更改 void m(float p,float *max,float *min,float *aver,int *r) { float b[N]; static int j=0; //静态变量 int k; b[j++]=p; *max=*max>p?*max:p;//比较大小 *min=*min*aver?++(*r):(*r); //超过平...
博罗县19759332830: C语言求助??
牢饼丹盛: 输入字符串: 输入要查找的字符: 输入替换字符: ========================================================== #include<stdio.h> #include<string.h> #define MAX 1000 int chrn (char c1, char c2, char s[]) { int n=0; char *p=s; for(;*p!...
博罗县19759332830: C语言编程求助!急急急?
牢饼丹盛: #include"stdio.h" main() { char a[3],b[100]; int k=0,i; printf("please input two char\n"); gets(a); printf("please input char(<100)\n"); gets(b); for(i=0;i<100;i++) { if(a[0]==b[i]&&a[1]==b[i+1]) k++; } printf("%d",k); } 就这样吧 如果用指针会更好写 但是 可能考虑到你可能没有学 就没有用了
博罗县19759332830: C语言:急急急!求高手帮忙啊 !?
牢饼丹盛: #include <stdio.h> #include <string.h> int main() { char str[]="871M&278"; int len=strlen(str); int i,sum=0; for(i=0; i<len; i++) sum+=str[i]; printf("SUM = %d\n",sum); return 0; }
博罗县19759332830: C语言求助 - ?
牢饼丹盛: 可以这样修改:void fun1(char a[99][20],int c[99],int tmp){ int i=tmp; printf("input name:"); scanf("%s", printf("input num:"); scanf("%d",&c[i]...
博罗县19759332830: c语言程序设计,求助大神,急急急?
牢饼丹盛: #include<stdio.h> main() { int x; x=16; if(x%3==0 && x%5==0) printf("是"); else printf("不是"); } 可以不给x赋值,改为键盘输入 #include<stdio.h> main() { int x; printf("请输入任意整数"); scanf("%d",&x); if(x%3==0 && x%5==0) ...
博罗县19759332830: 急 急 急 C语言问题 求高手来解决 答对再加分!! - ?
牢饼丹盛: 1.//---------------------------------------------------------------------------#include <stdio.h> typedef int data_type; void fun(data_type *a,int n) { data_type t,*b=a,*e=a+n-1; while (b<e) { t=*b; *b=*e; *e=t; ++b; --e; } } int main(void) { data_type a[6]; int i; for (i = 0; i<6; ...