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

下載本文檔

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

文檔簡介

1、輸入成績,判斷是否及格#include<stdio.h>voidmain(){floata,b,max;printf("pleaseentera:");scanf("%f",&a);if(a>=60)printf("及格\n");elseprintf("不及格\n");}2、輸入兩個學(xué)生a和b的成績,輸出其中高的成績#include<stdio.h>voidmain(){floata,b,max;printf("pleaseenteraandb:");scanf("%f,%f",&a,&b); //數(shù)據(jù)輸入時若無逗號一般用空格區(qū)分兩輸入值,本例一定要在兩數(shù)之間加逗號if(a>=b)max=a;if(b>a)max=b;printf("max=%f\n",max);}3、要求按照百分制考試分?jǐn)?shù)輸出等級。#include"stdio.h"main(){intgrade;printf("inputgrade=");scanf("%d",&grade);switch((int)(grade/10)){case10:case9:printf("A\n"); break;case8:printf("B\n");break;case7:printf("C\n");break;case6:printf("D\n"); break;default:printf("E\n");}黑龍江大學(xué)計算機(jī)學(xué)院、軟件學(xué)院 《程序設(shè)計基礎(chǔ)》實驗講義黑龍江大學(xué)計算機(jī)學(xué)院、軟件學(xué)院 《程序設(shè)計基礎(chǔ)》實驗講義、求1+2+ +100的和,分別用while、do…while和for語句實現(xiàn)(1)while#include<stdio.h>voidmain(){intsum=0,i=1;while(i<=100){sum=sum+i;i++;}printf("sum=%d\n",sum);}(2)do...while#include<stdio.h>voidmain(){intsum=0,i=1;do{sum=sum+i;i++;}while(i<=100);printf("sum=%d\n",sum);}(3)for#include<stdio.h>voidmain(){intsum=0,i;for(i=1;i<=100;i++)sum=sum+i;printf("sum=%d\n",sum);}

5、輸入10個數(shù),用冒泡法對這10個數(shù)由小到大排序。#include<stdio.h>voidmain()inta[10];inti,j,t;//數(shù)組輸入/*//數(shù)組輸入/*進(jìn)行9次循環(huán),實現(xiàn)9趟比較*//*在每趟中進(jìn)行9-j次比較*//*相鄰兩個數(shù)進(jìn)行比較*/for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;/*滿足條件進(jìn)行互換*/printf("thesortednumbers:\n");for(i=0;i<10;i++) //數(shù)組輸出printf("%d",a[i]);printf("\n");6、選擇排序#include<stdio.h>voidmain(){inti,j,min,temp;inta[10]={6,90,45,56,1,15,44,78,58,101};//為數(shù)組賦初值//或鍵盤輸入/*printf("enterdata:\n");£0=(1=0;1<10;1++)//輸入10個數(shù){printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\n");for(i=0;i<10;i++)//輸出10個數(shù){printf("%5d",a[i]);}printf("\n");*/for(i=0;i<9;i++){min=i;for(j=i+1;j<=9;j++){if(a[min]>a[j])min=j;}temp=a[i];a[i]=a[min];a[min]=temp;}printf("\nThesortednumbers:\n");for(i=0;i<10;i++)//輸出排序后的10個數(shù){printf("%5d",a[i]);}printf("\n");getchar();}7、〃編一程序,將兩個字符串連接起來。不要用函數(shù)strcat#include"stdio.h"voidmain(){chars1[80],s2[40];inti=0,j=0;printf("\ninputstring1:");scanf("%s",s1);printf("inputstring2:");scanf("%s",s2);while(s1[i]!='\0')i++;while(s2[j]!='\0')s1[i++]=s2[j++];s1[i]='\0';printf("Thenewstringis:%s\n",s1);}8、函數(shù)1:(參數(shù)為值傳遞)#include<stdio.h>voidmain(){intmax(intx,inty);inta,b,c;scanf("%d%d",&a,&b);c=max(a,b);printf(“max=%d\n”,c);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;returnz;}9、函數(shù)2:(參數(shù)為地址傳遞)有一維數(shù)組score,內(nèi)放10個學(xué)生成績,定義函數(shù)average求平均成績。#include<stdio.h>voidmain(){floataverage(floatarray[10]);floatscore[10],aver;inti;printf("input10scores:\n");for(i=0;i<10;i++)scanf("%f",&score[i]);printf("\n");aver=average(score);printf("averagescoreis%5.2f\n",aver);}floataverage(floatarray[10]){inti;floataver,sum=array[0];for(i=1;i<10;i++)sum=sum+array[i];aver=sum/10;return(aver);}10、對輸入的兩個整數(shù)按大小順序輸出,用指針變量作函數(shù)的參數(shù)。(地址傳遞)#include<stdio.h>voidmain(){voidswap(int*p1,int*p2);inta,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的值進(jìn)行了交換*/printf("%d,%d\n",a,b);//等價于:printf("%d,%d\n",*pointer_1,*pointer_2);}voidswap(int*p1,int*p2){inttemp;temp=*p1;*p1=*p2;*p2=temp;}11、有一整型數(shù)組a,有10個元素。要輸出各元素的值有三種方法(1)下標(biāo)法#include<stdio.h>voidmain(){inta[10];inti;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");}(2)通過數(shù)組名計算出數(shù)組元素的地址,找出數(shù)組元素的值。#include<stdio.h>voidmain(){inta[10];inti;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)printf("%d",*(a+i));printf("\n");}⑶用指針變量指向數(shù)組元素#include<stdio.h>voidmain(){inta[10];int*p,i;for(i=0;i<10;i++)scanf("%d",&a[i]);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>voidmain(){structstudent{intnum;charname[20];intscore;}s1,s2;scanf("%d%s%d",&s1.num,,&s1.score);scanf("%d%s%d",&s2.num,,&s2.score);printf("numnamescore\n");if(s1.score>=s2.score)printf("%d %s %d\n",s1.num,,s1.score);elseprintf("%d %s %d",s2.num,,s2.score);}13、有N個學(xué)生的信息(包括學(xué)號,姓名,成績),要求按照成績的高低順序存儲并輸出各學(xué)生的信息。#include<stdio.h>#include<string.h>voidmain(){structstudent{intnum;charname[20];intscore;}s[6]={{1,"aaa",59},{2,"bbb",78},{3,"ccc",85},{4,"ddd",64},{5,"eee",98},{6,"fff",83}};inti,j,max,temp;chartemp_name[20];for(i=0;i<6;i++){max=i;for(j=i+1;j<=5;j++){if(s[max].score<s[j].score)max=j;}/*temp_stu=s[i];s[i]=s[max];s[max]=temp_stu;*/temp=s[i].num;s[i].num=s[max].num;s[max].num=temp;strcpy(temp_name,s[i].name);strcpy(s[i].name,s[max].name);strcpy(s[max].name,temp_name);temp=s[i].score;s[i].score=s[max].score;s[max].score=temp;}printf("numnamescore\n");for(i=0;i<6;i++)printf("%d%s%d\n",s[i].num,s[i].name,s[i].score);}14、從鍵盤輸入4個學(xué)生的有關(guān)數(shù)據(jù),然后把它們轉(zhuǎn)存到磁盤文件上去。#include<stdio.h>#defineSIZE4structstudent_type{charname[10];intnum;intage;charaddr[15];}stud[SIZE];voidmain(){voidsave();inti;for(i=0;i<SIZE;i++)/*從鍵盤輸入*/scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);save();}voidsave(){FILE*fp;inti;if((fp=fopen("stu-list","wb"))==NULL){printf("cannotopenfile\n");return;}for(i=0;i<SIZE;i++)if(fwrite(&stud[i],sizeof(structstudent_type),1,fp)!=1)printf(“filewriteerror\n");/*出錯*/fclose(fp);/*關(guān)閉文件*/}15、將以上數(shù)據(jù)讀出并顯示#include<stdio.h>#defineSIZE4structstudent_type{charname[10];intnum;intage;charaddr[15];}stud[SIZE];voidmain(){inti;FILE*fp;if((fp=fopen("stu_list","rb"))==NULL){printf("cannotopenfile\n");return;}for(i=0;i<SIZE;i++){fread(&stud[i],sizeof(structstudent_type),1,fp);printf("%-10s%4d%4d%-15s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);}fclose(fp);}16、//有15個數(shù)按照從小到大的順序存放在一個數(shù)組中。輸入一個數(shù),要求用折半查找法找出該數(shù)是數(shù)組中第幾個元素的值。如果該數(shù)不在數(shù)組中,輸出“不在表中”#include"stdio.h"#defineN15voidmain(){inti,number,top,bott,mid,loca,flag=1,sign;inta[N]={1,3,4,5,6,8,12,23,34,44,45,56,57,58,68};charc;for(i=0;i<N;i++)printf("%d",a[i]);printf("\n");while(flag){printf("inputnumbertolookfor:");scanf("%d",&number);getchar();sign=0;top=0;bott=N-1;if((number<a[0])||(number>a[N-1]))loca=-1;while((!sign)&&(top<=bott)){mid=(bott+top)/2;if(number==a[mid]){loca=mid;printf("Hasfound%d,itspositionis%d\n",number,loca+1);sign=1;elseif(number<a[mid])bott=mid-1;elsetop=mid+1;if(!sign||loca==-1)printf("cannotfind%d.\n",number);printf("continueornot(Y/N)?");scanf("%c",&c);getchar();if(c=='N'||c=='n')flag=0;10 11 12 13 1410 11 12 13 1445 56 57 58 68;45 56 57 58 6845 56 57 58 6845 56 57 58 68TOC\o"1-5"\h\z0 1 2 3 4 5

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論