Ⅰ 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");
}
}