第一篇: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
加強版:
#include “stdio.h” #include
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
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
用?表達式計算四級成績是否通過,大于425分則輸出通過,否則輸出不通過。源代碼:
#include
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(max 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 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;i 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 2、編一通用函數avernum,計算含有n個數據的一維數組的平均值,并統計此數組中大于平均值的數據的個數; 主函數中定義含有100個元素的數組x,x[I]=200*cos(I*0.875)(I=0,1,2……99),調用上述函數,輸出此數組的平均值及大于平均值的數據的個數。 (注:此程序不允許使用全局變量,不允許在avernum函數中輸出)源碼: #include 3、編一通用函數maxsub,求出含有n個數據的一維數組的最大值及其所在位置(即下標);主函數中定義含有300個元素的數組x,x[I]=10* cos((3.0+I*I)/ 5)(I=0,1,2……299),調用上述函數,輸出此數組的最大值及其所在位置。 (注:此程序不允許使用全局變量,不允許在avermax函數中輸出)源碼: #include 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片无码|
麻豆一精品传媒卡一卡二传媒短视频|
亚洲精品乱码久久久久久蜜桃欧美|
久久精品夜夜夜夜夜久久|
免费无码久久成人影片|
亚洲字幕成人中文在线电影网|
国产美女被遭高潮免费网站|