語言基礎(chǔ)代碼_第1頁
語言基礎(chǔ)代碼_第2頁
語言基礎(chǔ)代碼_第3頁
語言基礎(chǔ)代碼_第4頁
語言基礎(chǔ)代碼_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C 基 礎(chǔ)1、輸入成績,判斷是否及格#include <stdio.h>void main() float a,b,max; printf("please enter a:");scanf("%f ",&a); if (a>=60) printf("及格n"); else printf("不及格n");2、輸入兩個學(xué)生a和b的成績,輸出其中高的成績#include <stdio.h>void main() float a,b,max; printf("please e

2、nter a and b:"); scanf("%f,%f",&a,&b); / 數(shù)據(jù)輸入時若無逗號一般用空格區(qū)分兩輸入值,本例一定要在兩數(shù)之間加逗號 if (a>=b) max=a; if (b>a) max=b; printf("max=%fn",max);3、要求按照百分制考試分數(shù)輸出等級。#include "stdio.h" main() int grade; printf("input grade="); scanf("d",&grade)

3、; switch (int)(grade/10) case 10: case 9: printf("An"); break; case 8: printf("Bn"); break; case 7: printf("Cn"); break; case 6: printf("Dn"); break; default: printf("En"); 4、求1+2+100的和,分別用while、dowhile和for語句實現(xiàn)(1)while#include <stdio.h> void ma

4、in ( ) int sum=0,i=1; while (i<=100) sum=sum+i; i+; printf("sum=%dn",sum);(2)dowhile#include <stdio.h>void main( ) int sum=0,i=1;do sum=sum+i; i+; while (i<=100); printf("sum=%dn",sum);(3)for #include <stdio.h>void main( ) int sum=0,i;for (i=1;i<=100;i+) sum=

5、sum+i; printf("sum=%dn",sum);5、輸入10個數(shù),用冒泡法對這10個數(shù)由小到大排序。#include <stdio.h>void main() int a10; int i,j,t; printf("input 10numbers :n"); for (i=0;i<10;i+) /數(shù)組輸入scanf("%d",&ai); printf("n"); for(j=0;j<9;j+) /*進行9次循環(huán),實現(xiàn)9趟比較*/ for(i=0;i<9-j;i+) /

6、*在每趟中進行9-j次比較*/ if (ai>ai+1) /*相鄰兩個數(shù)進行比較*/ t=ai; ai=ai+1; ai+1=t; /*滿足條件進行互換*/ printf("the sorted numbers :n"); for(i=0;i<10;i+) /數(shù)組輸出 printf("%d ",ai); printf("n");6、選擇排序#include <stdio.h>void main()int i,j,min,temp;int a10=6,90,45,56,1,15,44,78,58,101;/為數(shù)組

7、賦初值/或鍵盤輸入/*printf("enter data:n");for(i=0;i<10;i+)/輸入10個數(shù)printf("a%d=",i);scanf("%d",&ai); printf("n"); for(i=0;i<10;i+)/輸出10個數(shù)printf("%5d",ai);printf("n");*/ for(i=0;i<9;i+)min=i;for(j=i+1;j<=9;j+)if(amin>aj)min=j;temp=a

8、i;ai=amin;amin=temp;printf("n The sorted numbers:n"); for(i=0;i<10;i+)/輸出排序后的10個數(shù)printf("%5d",ai);printf("n");getchar();7、/編一程序,將兩個字符串連接起來。不要用函數(shù)strcat#include "stdio.h"void main()char s180,s240;int i=0,j=0;printf("n input string1:");scanf("%s

9、",s1); printf("input string2:"); scanf("%s",s2);while(s1i!='0') i+;while(s2j!='0') s1i+=s2j+;s1i='0' printf("The new string is: %sn",s1);8、函數(shù)1:(參數(shù)為值傳遞)#include <stdio.h> void main ( ) int max(int x,int y ); int a,b,c; scanf("%d%d&

10、quot;,&a,&b); c=max(a,b); printf(“max= dn”,c); int max (int x,int y) int z; if (x>y) z=x; else z=y; return z;9、函數(shù)2:(參數(shù)為地址傳遞)有有一維數(shù)組score,內(nèi)放10個學(xué)生成績,定義函數(shù)average求平均成績。#include <stdio.h>void main() float average(float array10); float score10,aver; int i; printf("input 10 scores:n&qu

11、ot;); for(i=0;i<10;i+) scanf("%f",&scorei); printf("n"); aver=average(score); printf("average score is %5.2f n", aver);float average(float array10) int i; float aver, sum=array0; for(i=1;i<10;i+) sum=sum+arrayi; aver=sum/10; return(aver); 10、對輸入的兩個整數(shù)按大小順序輸出,用指

12、針變量作函數(shù)的參數(shù)。(地址傳遞)#include <stdio.h>void main() void swap(int *p1,int *p2); int a,b; int *pointer_1, *pointer_2; scanf("%d%d",&a,&b); pointer_1=&a; pointer_2=&b; if(a<b) swap(pointer_1,pointer_2); /*調(diào)用函數(shù)后,a,b的值進行了交換*/ printf("%d,%dn",a,b);/等價于:printf("

13、%d,%dn", *pointer_1,*pointer_2); void swap(int *p1,int *p2) int temp; temp=*p1; *p1=*p2; *p2=temp;11、有一整型數(shù)組a,有10個元素。要輸出各元素的值有三種方法(1)下標(biāo)法#include <stdio.h>void main() int a10; int i; for(i=0;i<10;i+) scanf("%d",&ai); for (i=0;i<10;i+) printf("%d ",ai); printf(&

14、quot;n"); (2)通過數(shù)組名計算出數(shù)組元素的地址,找出數(shù)組元素的值。#include <stdio.h> void main() int a10; int i; for (i=0;i<10;i+) scanf("%d",&ai); for(i=0;i<10;i+) printf("%d ", *(a+i); printf("n"); 用指針變量指向數(shù)組元素#include <stdio.h> void main() int a10; int *p,i; for (i=0;i

15、<10;i+) scanf("%d",&ai); for(p=a;p<(a+10);p+) printf("%d ",*p); printf("n"); 上述3種方法中有關(guān)數(shù)組元素的輸入也可用下列方法表示: for(p=a;p<a+10;p+) scanf("%d",p);12、輸入兩個學(xué)生學(xué)號、姓名和成績,輸出成績較高的學(xué)生的學(xué)號、姓名和成績。#include<stdio.h>void main() struct student int num; char name20; i

16、nt score; s1,s2; scanf("%d%s%d",&s1.num,,&s1.score); scanf("%d%s%d",&s2.num,,&s2.score); printf("num name scoren"); if(s1.score>=s2.score) printf("%d %s %dn",s1.num,,s1.score); else printf("%d %s %d",s2.num,s2.

17、name,s2.score); 13、有N個學(xué)生的信息(包括學(xué)號,姓名,成績),要求按照成績的高低順序存儲并輸出各學(xué)生的信息。#include<stdio.h>#include<string.h>void main() struct student int num; char name20; int score; s6=1,"aaa",59,2,"bbb",78,3,"ccc",85, 4,"ddd",64,5,"eee",98,6,"fff",83;

18、 int i,j,max,temp; char temp_name20; for(i=0;i<6;i+) max=i;for(j=i+1;j<=5;j+) if(smax.score<sj.score) max=j; /* temp_stu=si;si=smax;smax=temp_stu; */temp=si.num;si.num=smax.num;smax.num=temp; strcpy(temp_name,);strcpy(,);strcpy(,temp_name); temp=si.score;si.s

19、core=smax.score;smax.score=temp; printf("num name scoren"); for(i=0;i<6;i+) printf("%d %s %dn",si.num,,si.score); 14、從鍵盤輸入個學(xué)生的有關(guān)數(shù)據(jù),然后把它們轉(zhuǎn)存到磁盤文件上去。#include <stdio.h>#define SIZE 4struct student_type char name10; int num; int age; char addr15; studSIZE;void main() v

20、oid save(); int i; for(i=0;i<SIZE;i+)/*從鍵盤輸入*/ scanf("%s%d%d%s",,&studi.num, &studi.age, studi.addr); save( ); void save( ) FILE *fp; int i; if(fp=fopen("stu-list","wb")=NULL) printf("cannot open filen"); return; for(i=0;i<SIZE;i+) if (

21、 fwrite (&studi, sizeof(struct student_type), 1,fp)!=1) printf(“file write errorn”);/*出錯*/fclose(fp); /*關(guān)閉文件*/ 15、將以上數(shù)據(jù)讀出并顯示#include <stdio.h>#define SIZE 4struct student_type char name10; int num; int age; char addr15; studSIZE; void main( ) int i; FILE *fp; if (fp=fopen ("stu_list&q

22、uot;,"rb")=NULL) printf("cannot open filen"); return; for(i=0;i<SIZE;i+) fread(&studi, sizeof(struct student_type),1,fp); printf("%-10s%4d%4d%-15s n", , studi.num, studi.age,studi.addr); fclose (fp); 16、/有15個數(shù)按照從小到大的順序存放在一個數(shù)組中。輸入一個數(shù),要求用折半查找法找出該數(shù)是數(shù)組中第幾個元

23、素的值。如果該數(shù)不在數(shù)組中,輸出“不在表中”#include "stdio.h"#define N 15void main() int i,number,top,bott,mid,loca,flag=1,sign; int aN=1,3,4,5,6,8,12,23,34,44,45,56,57,58,68;char c;for(i=0;i<N;i+)printf("%d ",ai);printf("n");while(flag) printf("input number to look for:");scan

24、f("%d",&number); getchar();sign=0;top=0;bott=N-1;if(number<a0)|(number>aN-1)loca=-1;while(!sign)&&(top<=bott) mid=(bott+top)/2;if(number=amid) loca=mid;printf("Has found %d, its position is %dn",number,loca+1);sign=1;else if(number<amid)bott=mid-1;elsetop=mid+1;if(!sign|loca=-1)printf("can not find %d.n",number);printf("continue or not (Y/N)?");scanf("%c",&c);getchar();if(c='N'|c='n')flag=0;60 1 2 3 4 5 6 7 8 9 10 11 12 1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論