一個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語言初學者必會(收藏)的詳細內容。更多資訊請關注PHP中文網其他相關文章!