影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

程序設計與算法語言上機試題abc-副本-副本

上傳人:澤*** 文檔編號:73769508 上傳時間:2022-04-12 格式:DOC 頁數:83 大?。?67.50KB
收藏 版權申訴 舉報 下載
程序設計與算法語言上機試題abc-副本-副本_第1頁
第1頁 / 共83頁
程序設計與算法語言上機試題abc-副本-副本_第2頁
第2頁 / 共83頁
程序設計與算法語言上機試題abc-副本-副本_第3頁
第3頁 / 共83頁

下載文檔到電腦,查找使用更方便

118 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《程序設計與算法語言上機試題abc-副本-副本》由會員分享,可在線閱讀,更多相關《程序設計與算法語言上機試題abc-副本-副本(83頁珍藏版)》請在裝配圖網上搜索。

1、 1、10 個人的成績存放在 score 數組中,編寫函數 fun ,求出平均分,并作為 函數值返回,且輸出不及格人數。 #include float fun (int a[10]) { int i,aver,sum=0; for(i=0;i<10;i++) sum=sum+a[i]; aver=sum/10; return aver; } void main() {

2、 int i,j=0,a[10]={10,20,30,40,50,60,70,80,90,100}; float aver; for(i=0;i<10;i++) if(a[i]<60) j++; aver=fun (a); printf("10 個人的成績平均分為 :%5.2f\n",aver); printf("\n"); printf(" 不及格人數 :%d\n",j); } 2、求出 1 到 100 之內能被 7 或者

3、 11 整除,但不能同時被 7 和 11 整除的所有 整數,并將他們放在指定的數組 a 中。 #include void main() { int i,n,a[500]; n = fun(a); for(i = 0; i < n; i++) printf("%8d",a[i]); } int fun (int a[]) { int i = 7, j = 0; for(; i <= 100; i++)

4、 if ((i % 7 == 0 || i % 11 == 0)&&( !(i % 7== 0 && i % 11 == 0) ) ) a[j++] = i; return j ;} 3、求方程 ax2 bx c 0 的解。 #include #include void main() { float a,b,c,d,x1,x2,m,n; printf(" 請輸入方程的 3 個系數 ,a,b,c:

5、"); scanf("%f,%f,%f",&a,&b,&c); printf(" 該方程 \n"); if(fabs(a)<=1e-6) { if(fabs(b)<=1e-6) { if(fabs(c)<=1e-6) printf(" 有無窮多個解 \n"); else printf(" 無解 \n"); } else printf(" 有一個根 :%8.4f\n",-c/b); } else

6、 { d=b*b-4*a*c; if(fabs(d)<=1e-6) printf(" 有兩個相等的實根 :%8.4f\n",-b/(2*a)); else if(d>1e-6) { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf(" 有兩個不等的實根 :%8.4f 和 %8.4f\n",x1,x2); } else { m=-b/(2

7、*a); n=sqrt(-d)/(2*a); printf(" 有兩個復根 :\n"); printf("%8.4f+%8.4fi\n",m,n); printf("%8.4f-%8.4fi\n",m,n); } } } 4、給出一個百分制成績,要求輸出成績等級 A、B、C、D 、E,90 分以上為 A , 80 ~89 分為 B,70 ~79 分為 C,60 ~ 69 分為 D ,60 分以下為 E。要求:當輸 入分數為負值,或大于 10

8、0 時,通知用戶“輸入數據錯誤,重新輸入”。 #include void main() { float x; char y; printf(" 輸入學生成績 :x="); scanf("%f",&x); while(x>100||x<0) { printf(" 輸入錯誤,請重新輸入學生成績 :x="); scanf("%f",&x); } if(x>=90) y='A

9、'; else if(x>=80) y='B'; else if(x>=70) y='C'; else if(x>=60) y='D'; else y='E'; printf("\n 學生的等級為: y=%c\n",y); } 5、求數組中最大元素在數組中的下標并存放在指針 k 所指的儲存單元中。 # include void fun(int *s

10、, int t , int *k) { int i ,max; max=s[0]; for (i=0;imax) { max=s[i]; *k=i; } } void main( ) { int a[10]={876,675,896,101,301,401,980,431,451,777}, k ; fun(a,10, &k); printf(" 最大值在 a 中的位置為: i=%d\n

11、最大值為: %d\n", k, a[k]); } 6、編寫函數 fun ,功能是:根據以下攻勢計算 s,計算結果作為函數值返回; n 通過形參傳入。 S=1+1/(1+2)+1/(1+2+3)+ +1/(1+2+3+4+ +n) 。 #include float fun(int n) { int i; float s=1.0,t=1.0; for(i=2;i<=n;i++) { t=t+i; s=

12、s+1/t; } return s; } void main() { float y; int n; printf(" 輸入 n 的值: \n"); scanf("%d",&n); y=fun(n); printf("y=%f\n",y); } 7、定義了 7 ×7 的二維數組, 并在主函數中自動賦值。 編寫函數 fun(int a[][7]), 該函數的功能是:使數組左下半三角元素中

13、的值全部置成 0 。 #include int fun(int a[][7]) { int i,j; for(i=0;i<7;i++) for(j=0;j<7;j++) { if(i>j) a[i][j]=0; } } void main() { int a[7][7],i,j; for(i=0;i<7;i++) { for(

14、j=0;j<7;j++) { a[i][j]=i+j+1; printf("%3d",a[i][j]); } printf("\n"); } fun(a); printf(" 輸出處理后的數組 a:\n"); for(i=0;i<7;i++) { for(j=0;j<7;j++) { printf("%3d",a[i][j]); } printf("\n"); }

15、 } 8、編寫一個函數 void fun(int tt[5][6],int pp[6]),tt 指向一個 5 行 6 列的二維函 數組,求出二維函數組每列中最小元素,并依次放入 pp 所指定一維數組中。二 維數組中的數已在主函數中初始化。 #include void fun(int tt[5][6],int pp[6]) { int i,j,min; for(j = 0;j < 6;j++) { min = tt[0][j]; for(i= 0

16、;i < 5;i++) { if(tt[i][j] < min) min = tt[i][j]; } pp[j] = min; } } void main() { int t[5][6]={{68,56,32,44,54,12},{14,56,24,47,88,58},{42,85,22,75,44,56},{45,12,3,5,78,45}, {45,65,25,75,85,41}}; int p[6],i,j,k; printf("The

17、riginal data is:\n"); for(i = 0;i < 5;i++) { for(j = 0;j < 6;j++) printf("%6d",t[i][j]); printf("\n"); } fun(t,p); printf("\n 二維函數組每列中最小元素為 :\n"); for(k = 0;k < 6;k++) printf("%4d",p[k]); printf("\n"); } 9、求出

18、4 行 5 列的二維數組周邊元素之和。 #include void main() { int a[4][5],i,j,sum=0,sum1=0,sum2=0; printf(" 請輸入 4*5 矩陣數據: "); for(i=0;i<4;i++) for(j=0;j<5;j++) scanf("%d",&a[i][j]); { for(i=0;i<4;i++) sum1=sum1+a[i][0]+a[i][4];

19、 } { for(j=0;j<5;j++) sum2=sum2+a[0][j]+a[3][j]; } sum=sum1+sum2-a[0][0]-a[0][4]-a[3][0]-a[3][4]; printf(" 矩陣周邊元素之和為: %d\n",sum); } 10 、 編寫程序,把字符串中的內容逆置(不準使用多個字符數組)。 #include void main() { char a[80

20、]; char t; int i,n; printf(" 輸入一行字符串: \n"); gets(a); n=strlen(a); for(i=0;i<=n/2;i++) { t=a[i]; a[i]=a[n-i-1]; a[n-i-1]=t; } printf(" 字符串中的內容逆置為: \n"); puts(a); } 11 、編寫程序,從字符

21、串中刪除指定的字符,同一字母的大、小寫按不同字符處理。并把刪除好的字符以字符串的形式輸出(不準使用多個字符數組)。 #include #include void main() { char ch,str[100]; int i,j=0; printf(" 輸入字符串: \n"); gets(str); 無上限讀取字符 printf(" 輸入要刪除的字符 :"); ch=getchar(); for(i=0

22、;i #include void main() { char a[80]; char ch; int i,j; int n;

23、 printf(" 輸入一串字符字符 :\n"); gets(a); printf(" 輸入要刪除的字符 :"); ch=getchar(); i=0; while(a[i]!='\0') { while(a[i]!='\0'&&a[i]!=ch) i++; n=strlen(a); for(j=i;j

24、printf(" 刪除后的字符串: "); puts(a); } 12 、編寫程序 ,對長度為 7 個字符的字符串,除首尾字符外,將其余 5 個字符按 ascii 碼降序排列。 #include void main() { char c[8]; char i,j,temp; printf(" 長度為 7 個字符的 c 字符串 :"); gets(c); for (i=1;i<=5;i++) {

25、 for (j=i+1;j<=5;j++) { if (c[i]

26、長的字符串。若兩個字符串長度相同, 則返回第一個字符串。 #include #include char *fun(char *a,char *b) { int i,j; for(i=0;*(a+i);i++); for(j=0;*(b+j);j++); if(i>=j) return a; else return b; } void main() {

27、 char a[100],b[100],*c; printf(" 輸入 a 字符串 : "); gets(a); printf(" 輸入 b 字符串 :"); gets(b); c=fun(a,b); printf(" 輸出較長的 c 字符串 :"); puts(c); } 14 、給一個不多于 5 位的正整數,要求求出它是幾位數,打印出每一位數字, 并按逆序打印出各位數字。 #include

28、 void main() { long int num; int a,b,c,d,f,place; printf(" 輸入 num 的數值: "); scanf("%d",&num); if(num>9999) place=5; else if(num>999) place=4; else if(num>99) place=3; else if(num>9)

29、 place=2; else place=1; printf("place=%d\n",place); f=num/10000; d=num/1000%10; c=num/100%10; b=num/10%10; a=num%10; switch(place) { case 5: printf("%d,%d,%d,%d,%d",f,d,c,b,a); printf("\n 反序數為 :"); print

30、f("%d,%d,%d,%d,%d\n",a,b,c,d,f); break; case 4: printf("%d,%d,%d,%d",d,c,b,a); printf("\n 反序數為 :"); printf("%d,%d,%d,%d\n",a,b,c,d); break; case 3: printf("%d,%d,%d",c,b,a); printf("\n 反序數為 :"); printf("%d,%d,%d\n",a,b,c); break; case 2: pri

31、ntf("%d,%d",b,a); printf("\n 反序數為 :"); printf("%d,%d\n",a,b); break; case 1: printf("%d",a); printf("\n 反序數為 :"); printf("%d\n",a); break; } } 15 、編寫一個函數 fun ,它的功能是:求出一個 6 ×8 的整型二維數組中最大元 素的值,并將此值返回調用函數。 數組在主函數中初始化,并最終輸出結果。

32、 #include int fun(int a[6][8]) { int i,j,max=a[0][0]; for(i=0;i<6;i++) for(j=0;j<8;j++) if(max

33、2,18,65,24},{32,1,5,4,6,7,8,9},{5,5,5,9,9,9,8,8,} ,{9,5,2,4,7,81,2,5},{3,2,1,4,5,6,9,8}}; int i,j,max; printf("array a:\n"); for(i=0;i<6;i++) { for(j=0;j<8;j++) { printf("%4d",arr[i][j]); } printf("\n"); } max=fun(ar

34、r); printf("max=%d\n",max); } 16 、將字符數組 s 中的字符串,除了下標為偶數、同時 ascii 值也為偶數的字符 外,其余的全都刪除;串中剩余字符所形成的一個新串放在新的字符數組 t 中。 #include #include void main() { char s[100], t[100]; int i,j=0,n; printf("\n

35、輸入字符串 S:"); gets(s);//scanf("%s", s); n=strlen(s); for(i=0;i #include

36、 void fun(char *s,char t[]) { int i,j=0,n; n=strlen(s); for(i=0;i

37、nter string S:"); gets(s);//scanf("%s", s); fun(s, t); printf("\nThe result is : %s\n", t); } 17 、 假定輸入的字符串中只包含字母和 * 號。則使字符串中的 * 號不得多于 3 個; 若多于 3 個,則刪除多于的 * 號;若少于或等于 3 個,則什么也不做。 #include #include v

38、oid main() { char str[50],c[50],b; int i,j,n,a[50]={0},k,l; gets(str); n=strlen(str); for(l=0,j=0,i=0;i

39、 a[j]=i; j++; } } for(i=0;i void main(

40、) { int n; int i=1,t=1,sum=0; printf(" 輸入 n 的數值: "); scanf("%d",&n); do { t=t*i; sum=sum+t; i++; } while(i<=n); printf("sum=%d\n",sum); } 19 、編寫程序,刪除字符串中的所有空格。 #include

41、 #include void main() { char str[100]; int i,j=0; printf(" 輸入字符串: \n"); gets(str); for(i=0;i

42、 20 、求出字符數組 ss 中存儲的字符串中指定字符的個數。 #include void main() { int fun(char a[],char ch); char a[100],ch; printf("\nPlease enter a string:"); gets(a); printf("\nPlease enter a char:"); ch=getchar(); printf("The number is:%d\n",fun

43、(a,ch)); } int fun(char a[],char ch) { int i,j=0; for(i=0;a[i]!='\0';i++) if(a[i]==ch) j++; return j; } #include void main() { char a[100],ch; int i,j=0; printf(" 輸入字符串: ");

44、 gets(a); printf("\n"); printf(" 輸入要查找的字符 :"); ch=getchar(); for(i=0;a[i]!='\0';i++) if(a[i]==ch) j++; printf("\n"); printf(" 字符串 a 中指定字符的個數 :%d\n",j); } 21 、輸入一行字符,分別統(tǒng)計出其中的大小寫字母、空格、數字和其他字符的個數。 #include

45、 void main() { int i=0,j=0,k=0,l=0; char c; printf(" 輸入一行字符: \n"); while((c=getchar())!='\n') { if((c>='A'&&c<='Z')||(c>='a'&&c<='z')) i++; else if(c>='0'&&c<='9') j++; else if(c==' ') k+

46、+; else l++; } printf(" 大 小 寫 字 母 數 :i=%3d\n 數 字 數 :j=%3d\n 空 格 數 :k=%3d\n 其 他 符 號 數:l=%3d\n",i,j,k,l); } 22 、將 5 行 6 列的二維數組中的數據,按列的順序依次放到一個一維數組中。 #include void main() { int a[5][6]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

47、,16,17,18,19,20, 1,2,3,4,5,6,7,8,9,10}; int b[30]; int i,j,k=0; for (j=0;j<6;j++) { for(i=0;i<5;i++) { b[k++]=a[i][j]; } } printf(" 二維數組: \n"); for (i = 0; i < 5; i++) { for(j=0;j<6;j++)

48、 { printf("%3d",a[i][j]); } printf("\n"); } printf("\n"); printf(" 一維數組 :\n"); for (i= 0;i void fun( int (*s)[4], int *b)

49、 { int i,j,k=0; for(j=0;j<4;j++) for(i=0;i<3;i++) { b[k]=*(*(s+i)+j); k++; } b[k]= '\0'; } main() { int a[30],w[3][4]={{1,2,3,4},{4,5,6,7},{6,7,8,9}}; int i,j; printf(" 輸出數組 w:\n");

50、for(i=0; i<3; i++) { for(j=0;j<4; j++) printf("%3d",w[i][j]); printf("\n"); } fun(w,a); printf(" 按列的順序依次放到一個一維數組 b : \n"); for(i=0;i<12;i++) printf("%3d",a[i]); printf("\n\n"); } 23 、求兩個 2 ×3 和 3×2 的矩陣之積,并把結果顯示出來。

51、 #include void main() { int a[2][3],b[3][2],c[2][2]={0},i,j,x; printf(" 輸入一個 2 行 3 列的矩陣 a:\n"); for(i=0;i<2;i++) { for(j=0;j<3;j++) { scanf("%d",&a[i][j]); printf("%5d",a[i][j]); } printf("\n")

52、; } printf(" 輸入一個 3 行 2 列的矩陣 b:\n"); for(i=0;i<3;i++) { for(j=0;j<2;j++) { scanf("%d",&b[i][j]); printf("%5d",b[i][j]); } printf("\n"); } printf("a*b=:\n"); for(i=0;i<2;i++) { for(j=0;j<2;j++)

53、 { for(x=0;x<3;x++) c[i][j]+=a[i][x]*b[x][j]; printf("%5d",c[i][j]); } printf("\n"); } } 24 、定義了一個 6 ×6 的二維數組,并進行初始化。將數組右上半三角元素中的 值乘以 10 。 #include void fun(int a[][6]); void main() {

54、 int i,j; int a[6][6]; printf("array a:\n"); for(i=0;i<6;i++) { for(j=0;j<6;j++) { a[i][j]=i+j+1; printf("%3d",a[i][j]); }printf("\n"); } fun(a); printf(" 經過處理后的數組元素 array a:\n"); for(i=0;i<6;i++)

55、 { for(j=0;j<6;j++) { printf("%5d",a[i][j]); } printf("\n"); } } void fun(int a[][6]) { int i,j; for(i=0;i<6;i++) for(j=0;j<6;j++) { if(i

56、 #include void main() { int i,j; int a[6][6]; printf("array a:\n"); for(i=0;i<6;i++) { for(j=0;j<6;j++) { a[i][j]=i+j+1; printf("%3d",a[i][j]); } printf("\n"); } printf(" 經過處理后的數組元素

57、array a:\n"); for(i=0;i<6;i++) { for(j=0;j<6;j++) { if(i void

58、main() { int i,j; int a[5][6]={{4,5,7,8,1,6},{8,4,6,5,1,5},{7,8,9,4,5,6},{1,2,3,4,5,6},{1,2,3,6,5,2}}; int b[6][5]; printf("array a:\n"); for(i=0;i<5;i++) { for(j=0;j<6;j++) { printf("%3d",a[i][j]); b[j][i]=a[i][j];

59、 } printf("\n"); } printf("a 的轉置矩陣 array b:\n"); for(i=0;i<6;i++) { for(j=0;j<5;j++) { printf("%3d",b[i][j]); } printf("\n"); } } 26 、將兩個兩位數的正整數 a,b 合并成一個整數放在 c 中。合并的方式是:將 a 數的十位和個位依次放在 c

60、數的千位和十位上, b 數的十位和個位數依次放在 c 數的百位和個位上。 #include void main() { int a,b,c,i,j,k,l; printf(" 輸入 a,b 的值: "); scanf("%d%d",&a,&b); i=a/10; j=a%10; k=b/10; l=b%10; c=1000*i+k*100+j*10+l; printf(" 兩個兩位數的

61、正整數 a,b 合并成一個整數為: c=%d\n",c); } 27 、編寫一個函數 fun ,它的功能是:實現兩個字符串的連接 (不使用庫函數 strcat) ,即把 p2 所指的字符串連接到 p1 所指的字符串后。主函數中僅僅輸入 和輸出。 #include #include int fun(char a[],char b[]) { int i=0,j=0; while(a[i++]!='\0'); i--;

62、 while((a[i++]=b[j++])!='\0'); return (a[i]); } int main() { char a[100],b[100]; printf(" 請輸入一串字符 a:"); gets(a); printf("\n"); printf(" 請再輸入一串字符 b:"); gets(b); printf("\n"); fun(a,b); printf("

63、 新字符串為 :"); puts(a); printf("\n"); } 28 、請編寫函數 fun, 該函數的功能是:實現 b=a+aT ,即把矩陣 a 加上 a 的轉 置,存放在矩陣 b 中。計算結果在 main 函數中輸出(a 為一個 3 行 3 列的整型 數組)。 #include void fun( int a[3][3], int b[3][3]) { int i,j, at[3][3]; for(i=0;i<

64、=2;i++) for(j=0;j<=2;j++) at[i][j]=a[j][i]; for(i=0;i<3;i++) for(j=0;j<3;j++) b[i][j]=a[i][j]+at[i][j]; } main( ) { int a[3][3]={{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, t[3][3] ; int i, j,at[3][3]; printf(" 輸出

65、一個 3*3 的矩陣 a:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%5d",a[i][j]); at[i][j]=a[j][i]; } printf("\n"); } printf(" 輸出 a 的轉置矩陣 at:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { pri

66、ntf("%5d",at[i][j]); } printf("\n"); } printf("\n a+at=\n"); fun(a, t) ; for (i = 0 ; i < 3 ; i++) { for (j = 0 ; j < 3 ; j++) printf("%7d", t[i][j]) ; printf("\n") ; } } 29 、依次輸出 200 以內(包含 200 )能被 5 整除但不能被 15 整除的自然數。 #include void main() { int i; for(i=1;i<=200;i++) { if(i%5==0&&i%15!=0) printf("i=%d\n",i);

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!