Ⅰ c语言代码帮助修改,谢谢!
把你的void exit(1)改成 #include < process.h >吧,这样就ok了,
因为exit(int)这个函数在< process.h >已经有定义了
给你个建议:把月日同时输入,这样运行时看起来比较好一点
Ⅱ c语言程序修改
有三种方法可以实现,分别如下:
第1种、将文件中数据读入内存中,修改后,清空源文件,存入新数据。
第2种、以读写的方式打开文件,将文件指针移动到要修改的地方,写入新数据。新数据将会覆盖掉旧数据。
第3种、以读写的方式打开文件,将文件指针定位到需要修改数据的末尾,然后删除需要修改的数据(通过循环n次执行fputc(8,fp),直到清空需要修改的数据为止,8为退格键对应的ascii)。 然后计算需要加入的新数据长度,通过fputc(32,fp)来添加空格到文件中(32为空格键的ascii). 然后根据指针位置,填入数据覆盖掉这些空格。
注意:第1种方法适合数据量较小的情况,第2种、第3种适合数据量较大的情况。
提供一个参考代码,如下:
#include"stdio.h"
main()
{
FILE*in=fopen("f:\test.txt","r");
FILE*out=fopen("f:\back.txt","w");/*out是充当临时文件作用*/
intch=0;
if(!in)
{
printf("cann'topentest.txt ");
exit(1);
}
if(!out)
{
printf("cann'tcreateback.txt ");
exit(1);
}
/*开始复制*/
while(!feof(in))
{
ch=fgetc(in);
if(ch=='a')ch='p';
fputc(ch,out);
}
fclose(in);fclose(out);
unlink("f:\test.txt");/*删除test.txt*/
rename("f:\back.txt","test.txt");/*改名*/
printf("ok!!!!!! ");
}
Ⅲ 第三小题,找出c语言源代码错误的地方并改正
错误点:
第1行,末尾不需要“;”号;
2. 第2行,“mian”拼写错误,改为“main”;
3. 第3行, 同类型局部变量定义之间用","分隔,即"int y;m;d;"改为"int y,m,d;";
4. 第5行,变量名书写错误,且scanf函数中的读入变量应为指针型,即"scanf("%d%d%d",yy,mm,dd)"改为“scanf("%d%d%d",&y,&m,&d)”;
5.第6行,变量名书写错误,即“printf("这三个整数是:%d, %d, %d
",yy,mm,dd)”改为“printf("这三个整数是:%d, %d, %d
",y,m,d)”。
Ⅳ 用c语言识别车牌的地方,已经车牌有数据了,要求就是假如输入川A就弹出成都,不用SWITCH,只要代码
#include <stdio.h>
struct car
{
char a[10];
char b[20];
}car1[100];
main()
{
FILE *fp;
char ch[10]; //放你输入的车牌
int i;
if((fp=fopen("你的数据文件","rt"))==NULL) //这几行是打不开文件就退出程序的
{ //标准就是这么写
printf("connot open file");
exit (1);
}
for(i=0;i<100;i++)
car[i]=fscanf(fp,"%s %s",a,b) //把数据读入到car这个数组当中
printf("输入车牌");
gets(ch);
for(i=0;i<100;i++)
if(strcmp(car[i]->a,ch))
puts(car[i]->b);
fclose(fp);
}
思路基本上这样,很多东西我都忘记了,你好好看看文件的读写和结构体,应该能把这个程序改好
Ⅳ 哈尔滨哪里有C语言的培训班
各大学附近都会
Ⅵ 家在哈尔滨,想找个教的好的地方学C语言
不用上学的,真的,买几本书自己看会更好的,我现在都感觉上学还要想这想那,不能真正安心的去学习的
买书就从网上买
Ⅶ 选择排序c语言代码
选择排序改进了冒泡排序,每次遍历列表只做一次交换,为了做到这一点,一个选择排序在遍历时寻找最大的值,并在完成遍历后,将其放到正确的地方。
第二次遍历,找出下一个最大的值。遍历n-1次排序n个项,最终项必须在n-1次遍历之后。
接下来呢,我们直接进行把最小值放到已排序序列末尾的操作。当然这是第一轮循环,还没有产生已排序的序列。0就是已排序序列的开头数字了。
第二轮初始化开始,我们继续选取假设的最小值,这次,我们还是选取第一个数字作为假设的最小值,需要注意的是,0已经是已排序序列,我们要从未排序的序列中选取第一个数字,也就是(5、1、8、6、2、3、4、9、7)无序序列中的数字5。
Ⅷ 什么时候中国大学开始c语言教学的
1991年,清华大学开设中国第一个C语言课程。
C语言二十世纪80年代流行,1989年出现第一个标准,即C89.
1991年,清华大学第一个开始C语言教程,使用教材为谭浩强编写的《C语言程序设计》第一版(1991),由清华大学出版社出版。
1992年,包括哈尔滨工业大学在内的十几所高校开始C语言教学。
到了21世纪,C语言已经成为大多数高校计算机专业,软件设计专业等专业的必修课程。
Ⅸ 哈工大计算机是怎样的水平
哈工大计算机是顶尖的水平。
哈尔滨工业大学(Harbin Institute of Technology),简称哈工大,校本部位于哈尔滨市,是由工业和信息化部直属的全国重点大学,位列国家首批世界一流大学建设高校A类、985工程、211工程,九校联盟、环太平洋大学联盟、中国大学校长联谊会、卓越大学联盟。
据2021年11月学校官网显示,哈工大(本部)下辖24个学院,开办97个本科专业,涵盖了哲学、经济学、法学、教育学、文学、历史学、理学、工学、管理学、艺术学等10个门类。
国家“精品资源共享课”:
会计信息系统、机械设计、污染控制微生物学、C语言程序设计、理论力学、材料力学、电子技术基础、物理光学、电工学、单片机原理、电路、电工电子实验系列课程、机械原理、工程训练、计算机组成原理、数据结构与算法、集合论与图论、管理信息系统、传热学、工程流体力学。
以上内容参考:网络——哈工大
Ⅹ (急)请问下段c语言代码改错怎么改
第一处 fun函数中,s+=p->改为s+=p->data,这里纯粹是粗心吧,不过我奇怪你已经找到错误的地方了,这个没看出来
第二处,main函数中printf("\nsum=%d\n", fun(*a)); ,fun函数的参数按照你的定义为SLIST *型,而你的实参*a,这个是什么?*a=a[0]=12,这是个整型数,形参与实参的类型必须一致,按照你的程序,你要传递的就是链表的首地址嘛,改为fun(head);
其它OK
#include <stdio.h>
#include <stdlib.h>
#define N 8
typedef struct list
{ int data;
struct list *next;
} SLIST;
SLIST *creatlist(int *);
void outlist(SLIST *);
int fun( SLIST *h)
{ SLIST *p; int s=0;
p=h->next;
while(p)
{
/**********found**********/
s+=p->data;
/**********found**********/
p=p->next;
}
return s;
}
main()
{ SLIST *head;
int a[N]={12,87,45,32,91,16,20,48};
head=creatlist(a); outlist(head);
/**********found**********/
printf("\nsum=%d\n", fun(head));
}
SLIST *creatlist(int a[])
{ SLIST *h,*p,*q; int i;
h=p=(SLIST *)malloc(sizeof(SLIST));
for(i=0; i<N; i++)
{ q=(SLIST *)malloc(sizeof(SLIST));
q->data=a[i]; p->next=q; p=q;
}
p->next=0;
return h;
}
void outlist(SLIST *h)
{ SLIST *p;
p=h->next;
if (p==NULL) printf("The list is NULL!\n");
else
{ printf("\nHead ");
do
{ printf("->%d", p->data); p=p->next; }
while(p!=NULL);
printf("->End\n");
}
}