一個C語言入門初學者如何學程式碼,讀程式碼和寫程式碼,我想學程式碼不知道方向誰能給我指明一個方向?對於c語言來說,要記得東西其實不多,基本就是幾個常用語句加一些關鍵字而已。你所看到的那些幾千甚至上萬行的程式碼,都是用這些語句和關鍵詞來重複編寫的。只是他們邏輯功能不一樣,那如何快速的上手C語言程式碼,建議多看多寫。
用C語言輸出9*9成法口訣。共9行9列,i控制行,j控制列。
下面程式的功能是將一個4×4的陣列進行逆時針旋轉90度後輸出,要求原始陣列的資料隨機輸入,新陣列以4行4列的方式輸出,請在空白處完善程式。
有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
兔子的規律為數列1,1,2,3,5,8,13,21…
判斷101-200之間有多少個素數,並輸出所有素數及素數的個數。
程式分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,則表明此數不是素數,反之是素數。
一個數如果恰好等於它的因子之和,這個數就稱為「完數」。例如6=1+2+3.程式設計找出1000以內的所有完數。
程式設計列印直角楊輝三角形
通過鍵盤輸入3名學生4門課程的成績,分別求每個學生的平均成績和每門課程的平均成績。要求所有成績均放入一個4行5列的陣列中,輸入時同一人資料間用空格,不同人用回車其中最後一列和最後一行分別放每個學生的平均成績、每門課程的平均成績及班級總平均分。
#include <stdio.h> #include <stdlib.h> main() { float a[4][5],sum1,sum2; int i,j; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%f",&a[i][j]); for(i=0;i<3;i++) { sum1=0; for(j=0;j<4;j++) sum1+=a[i][j]; a[i][4]=sum1/4; } for(j=0;j<5;j++) { sum2=0; for(i=0;i<3;i++) sum2+=a[i][j]; a[3][j]=sum2/3; } for(i=0;i<4;i++) { for(j=0;j<5;j++) printf("%6.2f",a[i][j]); printf("\n"); } }
完善程式,實現將輸入的字串反序輸出,如輸入windows 輸出swodniw。
下面程式的功能是從字元陣列s中刪除存放在c中的字元。
編寫一個void sort(int *x,int n)實現將x陣列中的n個資料從大到小排序。n及陣列元素在主函數中輸入。將結果顯示在螢幕上並輸出到檔案p9_1.out中
#include<stdio.h> void sort(int *x,int n) { int i,j,k,t; for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<n;j++) if(x[j]>x[k]) k=j; if(k!=i) { t=x[i]; x[i]=x[k]; x[k]=t; } } } void main() {FILE *fp; int *p,i,a[10]; fp=fopen("p9_1.out","w"); p=a; printf("Input 10 numbers:"); for(i=0;i<10;i++) scanf("%d",p++); p=a; sort(p,10); for(;p<a+10;p++) { printf("%d ",*p); fprintf(fp,"%d ",*p); } system("pause"); fclose(fp); }
已知陣列a中的元素已按由小到大順序排列,以下程式的功能是將輸入的一個數插入陣列a中,插入後,陣列a中的元素仍然由小到大順序排列
編寫函數replace(char *s,char c1,char c2)實現將s所指向的字串中所有字元c1用c2替換,字串、字元c1和c2均在主函數中輸入,將原始字串和替換後的字串顯示在螢幕上,並輸出到檔案p10_2.out中
#include<stdio.h> replace(char *s,char c1,char c2) { while(*s!='\0') { if (*s==c1) *s=c2; s++; } } main() { FILE *fp; char str[100],a,b; if((fp=fopen("p10_2.out","w"))==NULL) { printf("cannot open the file\n"); exit(0); } printf("Enter a string:\n"); gets(str); printf("Enter a&&b:\n"); scanf("%c,%c",&a,&b); printf("%s\n",str); fprintf(fp,"%s\n",str); replace(str,a,b); printf("The new string is----%s\n",str); fprintf(fp,"The new string is----%s\n",str); fclose(fp); }
在一個字串s1中查詢一子串s2,若存在則返回子串在主串中的起始位置,不存在則返回-1。
struct student { int num; char *name; char sex; int age; }stu[5]={{1001,"lihua",'F',18},{1002,"liuxing",'M',19},{1003,"huangke",'F',19},{1004,"fengshou",'F',19},{1005,"Wangming",'M',18}}; main() {int i; struct student *ps; printf("Num \tName\t\t\tSex\tAge\t\n"); /*用指標變數輸出結構體陣列元素。*/ for(ps=stu;ps<stu+5;ps++) printf("%d\t%-10s\t\t%c\t%d\t\n",ps->num,ps->name,ps->sex,ps->age); /*用陣列下標法輸出結構體陣列元素學號和年齡。*/ for(i=0;i<5;i++) printf("%d\t%d\t\n",stu[i].num,stu[i].age); }
建立一個有三個結點的簡單連結串列
氣泡排序,從小到大,排序後結果輸出到螢幕及檔案myf2.out
輸入一個字串,判斷其是否為迴文。迴文字串是指從左到右讀和從右到左讀完全相同的字串。
編寫函數countpi,利用公式計算π的近似值,當某一項的值小於10-5時,認為達到精度要求,請完善函數。將結果顯示在螢幕上並輸出到檔案p7_3.out中。
相關推薦:《C視訊教學》
以上就是C語言必背18個經典程式,C語言初學者必會(收藏)的詳細內容,更多請關注TW511.COM其它相關文章!