很多关于整数的问题 我们可以用字符串来实现,简单些。这就是例子
#include "stdioh"
#include "stringh" // 包含 strlen()函数声明,求字符数组大小
void main()
{
char nums[20]; //用于接收数字
int i;
printf("input number:\n");
gets(nums);
for(i=strlen(nums)-1;i>=0;--i) //逆序输出
putchar(nums[i]);
putchar('\n');
}
还需完善,你自己写吧。编程一定要动手的 呵
#include <stdioh>
#include <stdlibh>
#include <malloch>
#include <stringh>
#define ID struct id
struct id
{
char name[20];
int num;
int a;
int b;
int c;
double ave;
ID next; //
};
int pc=0;
ID creat()
{
ID p1,p2,head;
int pd;
p1=p2=head=NULL;
printf("\t\t\t 开始输入记录(学号0结束)!\n");
while(1)
{
printf("请输入学生的学号:\n");scanf("%d",&pd);
if(pd==0) break;
p1=(ID)malloc(sizeof(ID));
p1->num=pd;
printf("请输入学生的姓名:\n");scanf("%s",p1->name);
printf("请输入学生的语文成绩:\n");scanf("%d",&p1->a);
printf("请输入学生的数学成绩:\n");scanf("%d",&p1->b);
printf("请输入学生的外语成绩:\n");scanf("%d",&p1->c);
p1->ave=(p1->a+p1->b+p1->c)/30;
if(head==NULL)
{
head=p1;
p2=p1;
}
else
{
p2->next=p1;
p2=p1;
}
pc++;
}
p2->next=NULL;
return(head);
}
ID sort(ID head)
{
int temp;
char str[100];
double dbl;
ID p1,p2;
for(p1=head;p1!=NULL;p1=p1->next)
{
for(p2=p1->next;p2!=NULL;p2=p2->next)
{
if(p1->ave<p2->ave)
{
temp=p1->num;
p1->num=p2->num;
p2->num=temp;
strcpy(str,p1->name);
strcpy(p1->name,p2->name);
strcpy(p2->name,str);
temp=p1->a;
p1->a=p2->a;
p2->a=temp;
temp=p1->b;
p1->b=p2->b;
p2->b=temp;
temp=p1->c;
p1->c=p2->c;
p2->c=temp;
dbl=p1->ave;
p1->ave=p2->ave;
p2->ave=dbl;
}
}
}
printf("排序成功!!!\n");
return (head);
}
/输入/添加记录/
ID insert(ID head)
{
ID temp,p1,p2;
printf("插入 *** 作开始!!!\n");
temp=(ID )malloc(sizeof(ID));
printf("请输入学生的学号:\n");scanf("%d",&temp->num);
printf("请输入学生的姓名:\n");scanf("%s",temp->name);
printf("请输入学生的语文成绩:\n");scanf("%d",&temp->a);
printf("请输入学生的数学成绩:\n");scanf("%d",&temp->b);
printf("请输入学生的外语成绩:\n");scanf("%d",&temp->c);
temp->ave=(temp->a+temp->b+temp->c)/30;
if (head==NULL)
{
head=temp;
temp->next=NULL;
}
else
{
p1=head;
while(p1!=NULL && p1->ave > temp->ave)
{
p2=p1;
p1=p1->next;
}
p2->next=temp;
temp->next=p1;
}
printf("插入成功");
pc++;
return (head);
}
/删除学生记录/
ID delet(ID head)
{
ID p1,p2;
int num;
printf("请输入要删除的学生的学号:");scanf("%d",&num);
p1=head;
if (head==NULL)
{
printf("没有记录\n");
goto end;
}
while(num!=p1->num && p1!=NULL)
{
p2=p1;p1=p1->next;
}
if(num==p1->num)
{
if (p1==head)
head=p1->next;
else
p2->next=p1->next;
printf("删除成功!!!\n");
pc--;
}
end:return head;
}
/查找学生记录/
ID search(ID head)
{
ID p1,p2;
char str[100];
printf("请输入要查找的学生的姓名:");scanf("%s",str);
p1=head;
while(strcmp(str,p1->name) && p1!=NULL)
{
p2=p1;p1=p1->next;
}
if(strcmp(str,p1->name)==0)
{
printf("学生的学号:%d\n",p1->num);
printf("学生的姓名:%s\n",p1->name);
printf("学生的语文成绩:%d\n",p1->a);
printf("学生的数学成绩:%d\n",p1->b);
printf("学生的外语成绩:%d\n",p1->c);
printf("学生的平均成绩:%2lf\n",p1->ave);
}
return head;
}
/显示结果函数/
void print(ID head)
{
ID p;
p=head;
printf("\t\t\t\n");
printf("显示结果是:\n");
if(head!=NULL)
do
{
printf("%10d%10s%10d%10d%10d%102lf\n",p->num,p->name,p->a,p->b,p->c,p->ave);
p=p->next;
} while(p!=NULL);
}
void main()
{
ID head=NULL;
int choise;
printf("\t\t\t C语言课设 \n");
while(1)
{
printf("\t\t 学生信息管理系统\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("\t\t 1输入\n");
printf("\t\t 2显示\n");
printf("\t\t 3查找\n");
printf("\t\t 4排序\n");
printf("\t\t 5插入\n");
printf("\t\t 6删除\n");
printf("\t\t 0退出\n");
printf("\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("请选择(0-6):");
scanf("%d",&choise);
switch(choise)
{
case 1: head=creat();
break;
case 2: print(head);
break;
case 3: head=search(head);
break;
case 4: head=sort(head);
break;
case 5: head=insert(head);
break;
case 6: head=delet(head);
break;
case 0:
exit(0);
break;
default :printf("输入错误,请重新输入!\n");
}
}
}
#include <stdioh>
int main()
{
int f;
float l,s;
while(1)
{
printf("\n输入限速值及所测车速:");
scanf("%f%f",&l,&s);
if(s-l<0)
printf("未超速不处罚记%d分\n",f=0);
else if((s-l)/l<02)
printf("超速未到20%%记%d分\n",f=3);
else if((s-l)/l>=02 && (s-l)/l<05)
printf("超速20%%未到50%%记%d分\n",f=6);
else if((s-l)/l>=05)
printf("超速50%%及以上记%d分\n",f=12);
printf("驾驶证剩余分数:%d\n",12-f);
}
return 0;
}
#include <stdioh>
int geti(char c);//获取字符对应下标
int main()
{
int ia,ib;
char a,b;
printf("猜拳游戏:'V'表示剪刀,' S' 表示石头,'P'表示布\n");
while(1)
{
printf("请输入玩家a的手势:");
scanf("%c",&a);
getchar();
printf("请输入玩家b的手势:");
scanf("%c",&b);
getchar();
ia=geti(a);
ib=geti(b);
if(ia==-1 || ib==-1)
{
printf("输入不符合规则,请重新输入!\n");
continue;
}
if(ia-ib==1 || ia-ib==-2)
printf("玩家a胜\n");
else if(ia-ib==-1 || ia-ib==2)
printf("玩家b胜\n");
else
printf("平局\n");
}
return 0;
}
int geti(char c)//获取字符对应下标
{
char g[3]={'V','S','P'};//数组元素依次克前一个元素及被后一个元素克制
int i=0;
for(i=0;i<3;i++)
if(g[i]==c)
return i;
return -1;
}
本书采用“案例引导,任务驱动”的编写方式,深入浅出地讲解了C程序设计的基本方法;通过“案例展示—归纳总结—模仿练习—自主设计”的学习模式,使读者循序渐进地掌握C语言的编程方法和思想,提高动手能力。全书案例按照“任务要求—问题分析—程序详解—归纳总结”顺序组织,注重培养读者先进行算法描述后进行编程实践的良好编程习惯,使读者逐步掌握用计算机解决实际问题的方法。全书叙述严谨,实例丰富,内容详尽、难易适中、重点突出,并将指针等较难理解的知识分解到多章讲解,降低了读者学习的难度。
全书分为8章,主要内容包括C语言基础知识、算法、C程序的控制结构、数组与指针、函数、结构体与共用体、文件 *** 作和C语言课程设计。
本书适合作为高等院校计算机专业学生的教材,也可作为自学C语言程序设计的参考用书。
《C语言程序设计》共分10章,首先简单介绍程序设计基础,然后分别系统地介绍C语言的数据类型与运算符、C语言的3种程序结构、数组与函数、指针与文件等相关知识。
《C语言程序设计》面向初学者,语言叙述通俗易懂,概念清晰,实践性强。本书提供了大量的实例与习题,注重各部分知识的综合应用训练。
《C语言程序设计》适合作为高等学校本科、高职高专、成人高校和其他初学者学习C程序设计的教材,也可供参加全国计算机等级考试(二级C)的读者选用。
以上就是关于关于c语言程序设计,在线等全部的内容,包括:关于c语言程序设计,在线等、c语言程序设计——链表的应用、C语言程序设计的作业等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)