久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

c語言編程題(精選五篇)

時間:2019-05-12 01:40:01下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《c語言編程題》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《c語言編程題》。

第一篇:c語言編程題

實驗2 數據類型和標準輸入與輸出

(1)編寫程序,輸入攝氏溫度,轉換為華氏溫度。轉換公式如下: 華氏度 = 32 + 攝氏度 × 1.8 #include “stdio.h” void main(){ int s;

double h;printf(“請輸入攝氏度”);scanf(“%d”,&s);h=32+s*1.8;printf(“%lf”,h);}

(2)編寫一個程序,輸入大寫字符,轉換成對應的小寫后輸出。

#include “stdio.h” void main(){ char a,b;printf(“請輸入一個大寫字母”);scanf(“%c”,&b);a=b+32;printf(“%c”,a);}

升級版:

#include “stdio.h” void main(){ char a,b;printf(“請輸入一個大寫字母”);scanf(“%c”,&b);if(b>'Z')printf(“請重新輸入”);else a=b+32;printf(“%c”,a);} 升級版:

#include “stdio.h” void main(){

char a,b1;

printf(“請輸入一個字母”);scanf(“%c”,&b1);if('a'<=b1&&b1<='z');a=b1-32;if('A'<=b1&&b1<='Z')a=b1+32;

printf(“%c”,a);

}

(3)輸入一元二次方程的三個系數,計算該方程的根。

/* Note:Your choice is C IDE */ #include “stdio.h” #include void main(){ double a,b,x1,x2,d,c;printf(“請輸入一元二次方程的三個系數a,b,c”);scanf(“%lf,%lf,%lf”,&a,&b,&c);d=b*b-4*a*c;x1=(-b+sqrt(d))/(2*a);x2=(-b+sqrt(d))/(2*a);printf(“第一個根是%lf,第二個根是%lf”,x1,x2);}

加強版:

#include “stdio.h” #include void main(){ double a,b,x1,x2,d,c;printf(“請輸入一元二次方程的三個系數a,b,cn”);scanf(“%lf,%lf,%lf”,&a,&b,&c);

d=b*b-4*a*c;if(d<0)printf(“你輸入的方程沒有根”);

else { x1=(-b+sqrt(d))/(2*a);x2=(-b+sqrt(d))/(2*a);printf(“第一個根是%lf,第二個根是%lf”,x1,x2);} }

(4)請編一程序,用賦初值的方法使c1、c2、c3、c4、c5 五個變量的值分別 為’c’、’h’、’i’、’n’、’a’,經過運算,使c1、c2、c3、c4、c5 分別變為’G’、’l’、’m’、’r’、’e’,并輸出,分析是否符合要求。

源代碼:

/* Note:Your choice is C IDE */ #include “stdio.h” void main(){ char c1,c2,c3,c4,c5;c1='c';c2='h';c3='i';c4='n';c5='a';printf(“%c%c%c%c%c” ,c1,c2,c3,c4,c5);c1=c1-28;c2=c2-28;c3=c3+4;c4=c4+4;c5=c5+4;printf(“%cn”,c1);printf(“%cn”,c2);printf(“%cn”,c3);printf(“%cn”,c4);printf(“%cn”,c5);

實驗3-5 選擇結構程序設計

}

3、編程判斷從鍵盤上輸入的正整數是否既是5又是7的倍數,若是,則輸出yes,否則輸出no

#include “stdio.h” void main(){

} int a,b;printf(“請輸入一個正整數”);scanf(“%d”,&a);if(a%5==0&&a%7==0)printf(“yes”);else printf(“no”);

4、輸入一個年份,判斷是否是閏年?

閏年的條件

能被4整除,但不能被100整除。能被4整除,又能被400整除 #include void main(){

int a;

printf(“請輸入一個年份”);

scanf(“%d”,&a);

if((a%4==0&&a%100!=0)||(a%4==0&&a%400==0))

printf(“是閏年”);

else

printf(“不是閏年”);}

5、編寫一個程序,從鍵盤輸入三個數a,b,c,編程輸出最大的數和最小的數。

#include void main(){ int a,b,c,max;printf(“請輸入三個數字”);scanf(“%d%d%d”,&a,&b,&c);max=(a>b?a:b);max=(max>c?max:c);printf(“%d”,max);

用?表達式計算四級成績是否通過,大于425分則輸出通過,否則輸出不通過。源代碼:

#include void main(){ int a;printf(“請輸入四級成績”);scanf(“%d”,&a);printf(“%s”,a>425?“通過”:“不通過”);}

2、用?表達式對輸入的一個字母進行判斷,如果是大寫則轉換為小寫,如果是小寫則轉換為大寫輸出。

#include “stdio.h” void main(){ char a,b;printf(“請輸入一個字母”);scanf(“%c”,&a);if(64

{b=(a<97?a+32:a-32);printf(“%c”,b);}

else printf(“請重新輸入”);}

3、從鍵盤上輸入x的值,按下式計算y的值。(要求用兩種if結構實現,一種是串行if結構,無論什么數都必須比較三次;一種是多分枝if結構,可以減少比較次數)

?x x<1?y??2x?1 1?x<10 ?3x?11 x?10?

#include “stdio.h” void main(){ double x,y;printf(“請輸入一個x”);scanf(“%lf”,&x);if(x<1)y=x;if(1<=x&&x<10);y=2*x-1;if(x>=10)y=3*x-11;printf(“%lf”,y);}

第二種結構

#include “stdio.h” void main(){ double x,y;printf(“請輸入一個x”);scanf(“%lf”,&x);if(x<1)y=x;else if(1<=x&&x<10)y=2*x-1;else if(x>=10)y=3*x-11;printf(“%lf”,y);}

4、編寫程序,給出一個百分制成績,要求輸出相應的等級A、B、C、D、E。90分以上為'A',80~89分為'B',70~79分為'C',60~69分為'D',60分以下為'E'。(要求用多分枝if結構實現)

#include “stdio.h” void main(){ int x;char y;printf(“請輸入你的成績”);scanf(“%d”,&x);if(x>90)y='A';

if(x>80&&x<90)y='B';

if(x>70&&x<80)y='C';if(x>60&&x<70)y='D';if(x<60)y='E';printf(“你的成績是%c”,y);

5、輸入三個數,如果能構成三角形,則輸出三角形的類型(鈍角、銳角、直角),否則輸出不能構成三角形。

#include “stdio.h” void main(){ double a,b,c;printf(“請輸入三角形的三個邊”);scanf(“%lf%lf%lf”,&a,&b,&c);if(a>b+c||b>a+c||c>a+c)printf(“不是三角形”);else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==b*b+a*a)printf(“是直角三角形”);else if(a*a>b*b+c*c||b*b>a*a+c*c||c*c>b*b+c*c)printf(“是鈍角三角形”);else if(a*a

printf(“是銳角三角形”);}

6、輸入三個數a,b,c,要求按由小到大的順序輸出。

#include “stdio.h” void main(){

int a,b,c,t;printf(“請輸入三個數”);scanf(“%d%d%d”,&a,&b,&c);

if(a>b)

{

t=a;

a=b;

b=t;

} if(a>c){t=a;a=c;c=t;} if(b>c){t=b;b=c;c=t;} printf(“%d %d %d”,a,b,c);

1、運輸公司對用戶計算運費。

路程(s)越遠,每公里運費越低。標準如下:

s<250km

沒有折扣

250≤s<500

2%折扣

500≤s<1000

5%折扣

1000≤s<2000

8%折扣

2000≤s<3000

10%折扣

3000≤s

15%折扣 設每公里每噸貨物的基本運費為p,貨物重為w,距離為s,折扣為d,則總運費f的計算公式為: f=p*w*s*(1-d)

要求分別用if else if多分支選擇結構和switch多分支結構實現。

#include “stdio.h” void main(){ int p,w,s;double f;printf(“請由此輸入基本運費為p,貨物重為w,距離為s”);scanf(“%d %d %d”, &p,&w,&s);if(s<250)f=p*w*s;else if(s<500)f=p*w*s*(1-0.02);else if(s<1000)f=p*w*s*(1-0.05);else if(s<2000)f=p*w*s*(1-0.08);else if(s<3000)f=p*w*s*(1-0.10);else if(s>3000)f=p*w*s*(1-0.15);

printf(“%f”,f);} 方法2

#include “stdio.h” void main(){ double p,w,d,f;int s;scanf(“%lf%lf%d”,&p,&w,&s);switch(s/250){ case 0:d=0;break;case 1:d=0.02;break;case 2: case 3:d=0.05;break;case 4: case 5: case 6: case 7:d=0.08;break;case 8: case 9: case 10: case 11:d=0.1;break;default:d=0.15;} f=p*w*s*(1-d);printf(“總運費=%f”,f);}

2、編寫程序,判斷一個學生成績的R 優、良、中、差R : 假如從鍵盤輸入的字母是? A?,輸出評語”You are Excellent!”;如果輸入 ?B?,輸出評語”You are well!”;如 果輸入? C?,輸出評語”You are passing!”;如果輸入‘ D’,輸出評語“You are notpassing!“。如果輸入的不是這四個字母,則出現提示“Input error!” 請編寫一個程序,實現該判斷功能。要求必須使用switch-case 結構實現。

#include “stdio.h” void main(){ char a;int b;printf(“請輸入你成績的等級”);scanf(“%c”,&a);

switch(a){ case 'A': printf(“You are Excellent!”);

break;case 'B': printf(“You are well!”);break;case 'C': printf(“You are passing!”);

break;case 'D': printf(“You are notpassing!”);break;default: printf(“Input error!”);break;

} }

3、編寫一個簡單計算器程序,輸入格式為:data1 op data2。其中data1 和data2 是參加運算的兩個數,op 為運算符,它的取值只能是+、-、*、/。要求必須使用switch-case 語句實現。

4、用while 完成計算自然數1-N之間的和。要求N從鍵盤輸入,并輸出結果。

#include “stdio.h” void main(){ double s=0;int n,i=0;printf(“請輸入一個整數”);scanf(“%d”,&n);while(i<=n)

{s=i+s;i++;} printf(“%f”,s);}

實驗6-7 循環結構程序設計

1、分別用while,do while 和for完成計算n!。要求N從鍵盤輸入,并輸出結果。

#include “stdio.h” void main(){ double s=1;int n,i=1;printf(“請輸入一個整數”);scanf(“%d”,&n);while(i<=n)

{s=i*s;i++;} printf(“%f”,s);}

2、輸入一個正整數n,統計不大于n值的所有偶數的和。(要求必須用do while實現)

#include “stdio.h” void main(){ int n,i=1;double s=0;printf(“請輸入一個正整數”);scanf(“%d”,&n);do { s=2*i+s;i=i+2;}

while(2*i<=n);printf(“偶數項和%lf”,s);}

3、計算 s=1-1/3 + 1/5-1/7+?1/(2n-1)的值并輸出,(必須使用do while實現)

#include “stdio.h” void main(){ int n,i=1,t=1;double s=0;printf(“請輸入一個正整數”);scanf(“%d”,&n);do { s=t*(1.0/i)+s;t=-1;i=i+2;

}

while(i<=(2*n-1));printf(“和為%lf”,s);}

4、從鍵盤輸入10個實型數,求其倒數的和并輸出。

#include “stdio.h” void main(){ int i;double s=0,a;printf(“請輸入10個正整數”);for(i=0;i<10;i++){ scanf(“%lf”,&a);s=1/a+s;}

printf(“和為%lf”,s);}

5、編寫程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+?前50 項之和。要求必須 使用for 語句實現。

#include “stdio.h” void main(){ int i;double s=0;

for(i=1;i<=50;i++){ s=(1.0)/(i*(i+1))+s;} printf(“S=1/(1*2)+1/(2*3)+1/(3*4)+…前50 項之和為%f”,s);}

6、輸入10 個整數,統計同時能被3 和7 整除的個數,結果存放在變量nCount 中,將nCount 輸出。要求必須使用do-while 語句實現。do While源碼:

#include “stdio.h” void main(){

int i=1,nCount=0,n;printf(“請輸入10個整數”);do { scanf(“%d”,&n);if(n%3==0&&n%7==0)nCount=nCount+1;i++;} while(i<=10);printf(“能被3和7整除的個數是%d”,nCount);}

1、打印出所有的“水仙花數”,所謂“水仙花數”是指一個3 位數,其各位數字立方和等于該數本身。例如:153 是一水仙花數,因為153=1^3+5^3+3^3.#include “stdio.h” void main(){

int i,g,s,b,n=0;for(i=100;i<999;i++){ b=i/100;s=i/10-(10*b);g=i-100*b-10*s;if(i==b*b*b+s*s*s+g*g*g){ n=n+1;printf(“水仙花數是%dn”,i);} } }

2、從鍵盤任意輸入一個整數,判斷它是否為素數。

#include “stdio.h” void main(){

int i,n,k=0;printf(“請輸入一個整數”);scanf(“%d”,&n);for(i=2;i

printf(“%d是素數”,n);}

}

方法2;

#include “stdio.h” void main(){ int i,m;scanf(“%d”,&m);for(i=2;i

3、用循環結構程序設計方法,輸出一個九九乘法表.源碼:#include “stdio.h” void main(){ int i,j,s;for(i=1;i<9;i++){ for(j=1;j<9;j++){ s=i*j;printf(“%d*%d=%d ”,i,j,s);} printf(“%d*%d=%dn”,i,j,s);} }

4、從鍵盤輸入10 個整數,統計其中正數、負數和零的個數,并在屏幕上依次輸出。要求必須使用while 語句。#include “stdio.h” void main(){ int i=1,j=0,s=0,n=0,m;while(i<=10){ scanf(“%d”,&m);if(m>0)j=j+1;else if(m<0)s=s+1;else n=n+1;i++;} printf(“%d,%d,%d”,j,s,n);}

5、編程求1+(1+2)+..+(1+2+..+n),n 的值由鍵盤輸入。要求使用for 語句實現

源碼:

#include “stdio.h” void main(){ int i,s,t,n;s=0;t=0;scanf(“%d”,&n);for(i=1;i<=n;i++){ s=s+i;t=t+s;} printf(“%d”,t);}

實驗8-9 數組的應用

(一)1、從鍵盤輸入10 學生的成績至數組中,將最低分和最高分的成績輸出,并輸出所有成績。

源碼:

#include “stdio.h” void main(){ int i,n[10],max,min;printf(“請輸入10個整數”);for(i=0;i<10;i++)scanf(“%d”,&n[i]);max=n[0];min=n[0];for(i=0;i<10;i++)if(maxn[i])min=n[i];for(i=0;i<10;i++){ printf(“n[%d]=%dn”,i,n[i]);} printf(“max=%d,min=%dn”,max,min);}

2、定義含有300 個元素的數組x,x[i]=10* tan((3.0+I*I)/ 5)(i=0,1,2..299),計算該一維數組的平均值,并求出此數組中大于平均值的數據之和,最后輸出此數組的平均值及大于平均值的數據之和。

#include “stdio.h” #include “math.h” void main(){ int i;double s,n,a,x[300];for(i=0;i<300;i++){x[i]=10*tan((3.0+i*i)/5);} s=0;for(i=0;i<300;i++){ s=s+x[i];a=s/300;} n=0;for(i=0;i<300;i++){if(x[i]>a)n=n+x[i];} printf(“a=%f,n=%f”,a,n);}

3、定義含有300 個元素的數組y,y[i]=10* cos((3.0+i*i)/ 5)(i=0,1,2,…,299),計算一維數組的最大值及其所在位置(即下標),并輸出此數組的最大值及其所在位置。

#include “stdio.h” #include “math.h” void main(){ int i,max_i;double y[300],max;for(i=0;i<300;i++){y[i]=10*cos((3.0+i*i)/5);}/*由于數據類型原因3必須寫成3.0*/ max=0;for(i=0;i<300;i++){ if(max

4、編寫程序求出555555 的約數中最大的三位數是多少。要求必須使用do-while 語句實現。

源碼:

#include “stdio.h” #include “math.h” void main(){ int n=555555,i=999;do { if(n%i==0)break;else i--;} while(i>=100);printf(“555555的最大三位數的公約數是i=%d”,i);}}

5、輸入一個正整數,要求以相反的順序輸出該數。例如輸入12345,輸出54321。注:1 不得使用數組;2 必須使用while 語句實現。

#include “stdio.h” void main(){ int n,k;printf(“請輸入整數”);scanf(“%d”,&n);while(n){ k=n%10;printf(“%d”,k);n=n/10;} }

1、從鍵盤輸入10個整數,用起泡法進行排序。

源碼:

#include “stdio.h” void main(){ int a[10],i,j,t;for(i=0;i<10;i++){ scanf(“%d”,&a[i]);} 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;} for(i=0;i<10;i++)printf(“%d,”,a[i]);printf(“n”);}

2、有一個3×4的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。二維數組如下:

4 34 5 37 3 12 6 5 6 5 7 源碼:

#include “stdio.h” void main(){ int max,i,j,im,jm;int a[3][4]={{4,4,34,5},{37,3,12,6},{5,6,5,7}};max=a[0][0];im=0;jm=0;for(i=0;i<3;i++)for(j=0;j<4;j++){ if(max

3、將一個二維數組行和列元素互換,存到另一個二維數組中并輸出這兩個矩陣。

原始矩陣如下:

0

源碼:

#include “stdio.h” void main(){ int a[3][4]={{1,4,5,6},{3,2,7,8},{7,9,0,3}};int i,j,b[4][3];for(i=0;i<3;i++)for(j=0;j<4;j++)b[j][i]=a[i][j];

for(i=0;i<3;i++){ for(j=0;j<4;j++)printf(“%d ”,b[j][i]);

printf(“n”);} }

4、從鍵盤輸入一個整數,把轉換得到的二進制位存放在一維數組中并輸出。

源碼:

#include “stdio.h” void main(){ int n,i,j,a[100],t;scanf(“%d”,&n);t=n;i=0;while(t){ a[i]=t%2;t=t/2;i++;} for(j=i-1;j>=0;j--){ printf(“%d”,a[j]);} }

5、把200以內的所有素數存放到一維數組中并輸出。

源碼:

#include “stdio.h” void main(){ int i,m,j,k;int a[200];k=0;for(m=199;m>1;m--){ for(i=2;i

if(m%i==0)break;} if(i>=m)

a[k++]=m;} for(j=k-1;j>=0;j--)

printf(“%d ”,a[j]);}

1、從鍵盤輸入長方形的長和寬,計算長方形的面積并輸出用*表示的長方形圖形。要求面積計算和圖形輸出分別用函數實現。

源碼:

/* Note:Your choice is C IDE */ #include “stdio.h” int mianji(int w,int l)//此處的int與return有關,需要攜帶一個整數返回 { //形參的作用相當于定制式客戶提供的尺寸等信息 int area;//函數體內部可以自由使用形參 area=w*l;return area;}

//函數的定義只是一個靜態功能,此時不會做任何工作,具體使用要看調用者的函數調用

void printstar(int w,int l){ //void表示函數執行完畢不需要帶任何結果回來,不能出現在等號后面,只能單獨一條調用語句

int i,j;for(i=1;i<=w;i++){ for(j=1;j<=l;j++){printf(“*”);} printf(“n”);} }

void main(){int len,wid,area;scanf(“%d%d”,&wid,&len);//mianji(wid,len);//函數名(實參1,實參2)的方式使用函數,就叫函數調用,此時形參分配空間;

//實參的值拷貝給形參;執行函數體語句;最后用return攜帶結果返回。area=mianji(wid,len);//把return返回的結果賦值給area變量。只要函數有返回結果,它可以當作表達式來使用, //可以出現在等號后面任何相容的表達式中。printf(“area=%d”,area);printf(“n”);printstar(wid,len);//單獨一條調用語句,void函數的標準使用格式 }

2、從鍵盤輸入長方體的長和寬和高,計算長方體的表面積和體積,并在main函數中輸出。要求面積計算和體積計算分別用函數實現。

源碼:

#include “stdio.h” int bmj(int w,int l,int h)//此處的int與return有關,需要攜帶一個整數返回

{

//形參的作用相當于定制式客戶提供的尺寸等信息 int area;//函數體內部可以自由使用形參 area=(w*l+w*h+l*h)*2;return area;}

int tj(int w,int l,int h)

{//形參中的每個變量要分別進行類型定義

int tj=w*l*h;return tj;}

void main(){int len,wid,high,area,vol;scanf(“%d%d%d”,&wid,&len,&high);area=bmj(wid,len,high);vol=tj(wid,len,high);printf(“area=%d,vol=%d”,area,vol);}

3、編寫一個具有兩個整形形參的函數max,返回較大值。在main函數中接受從鍵盤輸入的兩個整數,輸出較大者。

源碼:

#include “stdio.h” int maxli(int x,int y){ int max;if(x>y)max=x;else max=y;return max;

} void main(){ int max=1,a,b;printf(“請輸入兩個整數”);scanf(“%d%d”,&a,&b);max=maxli(a,b);printf(“最大數為%d”,max);}

4、編寫一個無參且無返回值的函數,用來打印出所有的“水仙花數”,在、main函數中調用該函數。

所謂“水仙花數”是指一個3位數,其各位數字立方和等于該數本身。例如:153是一水仙花數,因為153=1^3+5^3+3^3.源碼:#include “stdio.h” void shuixian(){

int i,g,s,b,n=0;for(i=100;i<999;i++){ b=i/100;s=i/10-(10*b);g=i-100*b-10*s;if(i==b*b*b+s*s*s+g*g*g){ n=n+1;printf(“水仙花數是%dn”,i);} } } void main(){ shuixian();

}

5、通過調用自定義函數來完成求圓柱體的體積(v=3.14*r2*h),要求圓柱體的高和底半徑在主函數中做輸入,圓柱體的體積在主函數中做輸出。

源碼:

#include “stdio.h” double yuanzhutiji(int r,int h){ double v;

v=3.14*r*r*h;return v;

} void main(){ int r,h;double v;printf(“請輸入圓柱體的半徑和高”);scanf(“%d%d”,&r,&h);v=yuanzhutiji(r,h);printf(“圓柱的體積是%f”,v);

}

6、通過函數調用求華氏溫度,要求在主函數中輸入攝氏溫度,在主函數中輸出華氏溫度。(公式f=5/9*c+32)

源碼:

#include “stdio.h” double huashidu(int c)

{

double h;h=32+c*1.8;return h;} void main(){ int c;double h;printf(“請輸入攝氏度”);scanf(“%d”,&c);h=huashidu(c);printf(“%d攝氏度變成華氏度是%f”,c,h);}

4、有兩個數組a和b,各有10個元素,將它們對應地逐個相比(即a[0]與b[0]比,a[1]與b[1]比……)。如果a數組中的元素大于b數組中的相應元素的數目多于b數組中元素大于a數組中相應元素的數目(例如,a[i]>b[i]6次,b[i]>a[i]3次,其中i每次為不同的值),則認為a數組大于b數組,并分別統計出兩個數組相應元素大于、等于、小于的次數。要求用函數實現比較并返回結果。源碼:

#include “stdio.h” int great(int a,int b){ int f;if(a>b)f=1;else if(a==b)f=0;else f=-1;return f;} void main(){ int a[10],b[10],i,j=0,k=0,m=0;printf(“請輸入第一個數組10個元素n”);for(i=0;i<10;i++)scanf(“%d”,&a[i]);printf(“請輸入第二個數組10個元素n”);for(i=0;i<10;i++)scanf(“%d”,&b[i]);for(i=0;i<10;i++){ if(great(a[i],b[i])==1)j++;else if(great(a[i],b[i])==0)k++;else if(great(a[i],b[i])==-1)m++;} printf(“a[i]大于b[i]的元素為%dn”,j);printf(“a[i]等于b[i]的元素為%dn”,k);printf(“a[i]小于b[i]的元素為%dn”,m);if(j>m)printf(“數組a大于數組b”);else printf(“數組b大于數組a”);}

界面截圖:

5、用選擇法對數組中10個整數按由小到大排序。要求主函數輸入10個元素存入數組,調用排序函數實現數組元素的排序。

源碼:

#include void main(){ int s[10];for(i=0;i<10;i++)scanf(“%d”,&s[i]);printf(“函數調用前數組元素值”);for(i=0;i<10;i++)

printf(“%d,s[i]”);sort(s);printf(“函數調用后數組元素值”); for(i=0;i<10;i++)printf(“%d,s[i]”);}

void sort(int a[10])

{int i,j,t,b;

for(i=0;i<9;i++){b=i;for(j=i+1;j<10;j++)

{if(a[n]>a[j])b=j;}} t=a[i];a[i]=a[b];a[b]=t;

}

1、編一函數,統計一維整數組小于數組元素平均值的元素的個數;主函數定義x[50],x[i]=600*cos(i*0.35), 調用函數,輸出小于數組元素平均值的元素的個數。(注:此程序不允許使用全局變量,不允許在avernum函數中輸出)

源碼:

#include “stdio.h” #include “math.h” void main(){int avernum(double a[],int n);double x[50];int i,num;for(i=0;i<50;i++)x[i]=600*cos(i*0.35);num=avernum(x,50);printf(“小于平均值元素的個數為%d”,num);}

int avernum(double a[],int n){int i,count;double sum,ave;sum=0;for(i=0;i

源碼:

#include “stdio.h” #include “math.h” void main(){ double qmin(double a[],int n);

double y[50],min;

int j;

for(j=0;j<50;j++)

y[j]=600*sin(j*0.16);

min=qmin(y,50);

printf(“最小值為%f”,min);}

double qmin(double a[],int n){int i;double min;min=a[0];for(i=0;ia[i])min=a[i];} return min;}

3、求一維整型數組中正數的和。要求:主函數定義數組a[10],從鍵盤輸入十個數,調用自定義函數求出正數的和,然后在主函數中輸出結果

源碼:

#include “stdio.h” #include “math.h” void main(){ double qsum(double a[],int n);

double a[10],sum;

int j;

for(j=0;j<10;j++)

scanf(“%lf”,&a[j]);

sum=qsum(a,10);

printf(“正整數之和是%f”,sum);}

double qsum(double a[],int n){ int i;

double sum;

sum=0;

for(i=0;i

{ if(a[i]>0)sum+=a[i];

} return sum;}

4、編寫程序求下式的值:S=2^1*1!+2^2*2!+……+2^n*n!(n<10)(^表示乘方),要求不使用數學函數而采用如下方法:先編寫兩個函數分別求解2^n 和n!,再編寫求解S的函數,求解過程中調用前兩個函數。最后在主函數中輸入n,調用求解S的函數完成任務。

源碼:

5、編程驗證歌德巴赫猜想:一個大于等于4的偶數都是兩個素數之和,要求用函數實現(選作)

源碼:

界面截圖:

6、用戶從鍵盤輸入一個1—99999之間的數,編寫一個函數判斷這個數是幾位數,并判斷這個數是否是回文數。回文數是指將該數含有的數字逆序排列后得到的數和原數相同,例如12121、3223都是回文數。(選作)

源碼:

1、編一通用函數avermax,計算含有n個數據的一維數組的平均值,并求出此數組中大于平均值的數據之和;主函數中定義含有300個元素的數組x,x[I]=10* cos((3.0+I*I)/ 5)(I=0,1,2……299),調用上述函數,輸出此數組的平均值及大于平均值的數據之和。

(注:此程序不允許使用全局變量,不允許在avermax函數中輸出)源碼:

#include #include double avermax(double a[],int n,double *m){ int i;double s,aver;aver=0;for(i=0;iaver)s+=a[i];} *m=s;return aver;} void main(){ double x[300],s,a;int i;for(i=0;i<300;i++)x[i]=10*cos((3.0+i*i)/5);a=avermax(x,300,&s);printf(“平均值是%fn”,a);printf(“大于平均值的和是%f”,s);} 界面截圖:

2、編一通用函數avernum,計算含有n個數據的一維數組的平均值,并統計此數組中大于平均值的數據的個數;

主函數中定義含有100個元素的數組x,x[I]=200*cos(I*0.875)(I=0,1,2……99),調用上述函數,輸出此數組的平均值及大于平均值的數據的個數。

(注:此程序不允許使用全局變量,不允許在avernum函數中輸出)源碼:

#include #include double avernum(double a[],int n,double *m){ int i;double s,aver;aver=0;for(i=0;iaver)s=s+1;} *m=s;return aver;} void main(){ double x[100],s,a;int i;for(i=0;i<100;i++)x[i]=200*cos(i*0.875);a=avernum(x,100,&s);printf(“平均值是%fn”,a);printf(“大于平均值的和是%f”,s);} 界面截圖:

3、編一通用函數maxsub,求出含有n個數據的一維數組的最大值及其所在位置(即下標);主函數中定義含有300個元素的數組x,x[I]=10* cos((3.0+I*I)/ 5)(I=0,1,2……299),調用上述函數,輸出此數組的最大值及其所在位置。

(注:此程序不允許使用全局變量,不允許在avermax函數中輸出)源碼:

#include #include double maxsub(double a[],int n,double *m){ int i,t,max=a[0];for(i=0;imax){max=a[i];t=i;} } *m=t;return max;} void main(){ double x[300],s,a;int i;for(i=0;i<300;i++)x[i]=10*cos((3.0+i*i)/5);a=maxsub(x,300,&s);printf(“最大值%fn”,a);printf(“位置%f”,s);} 界面截圖:

4、編寫函數,實現任何整形數組元素的逆置。在主函數調用該函數,完成10個數組元素的逆置。

源碼:#include “stdio.h” void inverse(int a[],int n){ int i,j,m,t;j=n-1;m=(n-1)/2;for(i=0;i<=m;i++,j--){ t=a[i];a[i]=a[j];a[j]=t };} void main(){ int b[10];int *q,i;q=b;for(i=0;i<10;i++)scanf(“%d”,(q+i));inverse(b,10);for(i=0;i<10;i++)printf(“%d ”,*(q+i));}

界面截圖:

5、編寫程序求下式的值:S=2^1*1!+2^2*2!+……+2^n*n!(n<10)(^表示乘方),要求不使用數學函數而采用如下方法:先編寫兩個函數分別求解2^n 和n!,再編寫求解S的函數,求解過程中調用前兩個函數。最后在主函數中輸入n,調用求解S的函數完成任務。

源碼:

#include “stdio.h” int nj(int n){ int i=1,s=1;while(i<=n){ s=s*i;i++;} return s;} int nf(int n){ int i,s=1;for(i=1;i<=n;i++){s=s*2;} return s;} void main(){ int i,s=0,n;scanf(“%d”,&n);for(i=1;i<=n;i++){s=s+nj(i)*nf(i);} printf(“s=%d”,s);}

界面截圖:

1、復制下面的程序并運行,觀察程序運行的結果,并分析原因(注意程序第2行中有些單引號之間是空格)。

/*

c8-1.c

字符數組的輸出*/ #include “stdio.h” void main(){ char a[10]={ ’I’, ’ ’, ’a’, ’m’, ’ ’, ’a’, ’ ’, ’b’, ’o’, ’y’};printf(“%sn”,a);} 將字符數組a的大小改為11,再運行程序,并將結果與修改前的結果進行比較,分析原因。

界面截圖:

結果不一致的原因:%s只針對字符串有效,以’

主站蜘蛛池模板: 国产精品国产午夜免费看福利| 丰满少妇被猛烈进出69影院| 精品一卡二卡三卡| 乱中年女人伦| 国产久热精品无码激情| 免费做爰猛烈吃奶摸视频在线观看| 2019亚洲午夜无码天堂| 国产毛片欧美毛片久久久| 风流老太婆大bbwbbwhd视频| 水蜜桃无码视频在线观看| 国产浮力第一页草草影院| 国产乱子伦农村叉叉叉| 成午夜精品一区二区三区| 伊人色综合一区二区三区影院视频| 久久国内精品一区二区三区| 无套内射在线无码播放| 无线乱码一二三区免费看| 日本韩国亚洲欧美在线| 另类老妇奶性BBWBBw| 国产av无码专区亚洲aⅴ| 国产精品一区二区av蜜芽| 国产免费无遮挡吸乳视频下载| 久久精品国产清自在天天线| 东京热人妻无码一区二区av| 国产亚洲欧美日韩夜色凹凸成人| 欧美成人猛交69| 国产超碰人人做人人爰| 中文字幕一区二区三区四区五区| 在线视频免费观看爽爽爽| 黑人玩弄漂亮少妇高潮大叫| 亚洲性色av私人影院无码| 亚洲人成日韩中文字幕无卡| 亚洲人成网亚洲欧洲无码久久| 久久久日韩精品一区二区三区| 午夜理理伦电影a片无码| 麻豆一精品传媒卡一卡二传媒短视频| 亚洲精品乱码久久久久久蜜桃欧美| 久久精品夜夜夜夜夜久久| 免费无码久久成人影片| 亚洲字幕成人中文在线电影网| 国产美女被遭高潮免费网站|