c语言实验习题及答案详解 下载本文

内容发布更新时间 : 2024/11/14 17:13:53星期一 下面是文章的全部内容请认真阅读。

int i,j,t;

for(i=0;ia[j+1]) {t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } main() {

int a[16],i; for(i=0;i<16;i++) a[i]=random(30)+15; for(i=0;i<16;i++) printf(\ printf(\ sort(a,16); for(i=0;i<16;i++) printf(\ } c.

建立一个字符数组,将26个小写字母保存到数组中,并逆序输出; #include<>

#include<> int main() { int i;

char s[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; for(i=25;i>=0;i--) printf(\ return 0; }

d. 用数组保存fibonacci数列的前20项; #include<> int main() {

int i,f[20]={1,1};

printf(\ for(i=2;i<20;i++) {

f[i]=f[i-1]+f[i-2]; printf(\

} return 0; }

6. 二维数组

a. 建立一个5行5列的二维数组,提示用户输入数组的值,分别按照先行后列和先列后行

的顺序输入相同值;将数组显示到屏幕上,按矩阵显示;观察两种读入顺序的不同; #include<> main() {int a[5][5],i,j; for(i=0;i<5;i++)

for(j=0;j<5;j++) { }

a[i][j]=5*i+j+1;

for(i=0;i<5;i++) {

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

printf(\

printf(\ }

b. 求出二维数组的主对角线之和、副对角线之和;

#include<> main()

{int a[5][5],i,j,s=0,t=0; for(i=0;i<5;i++)

for(j=0;j<5;j++) {

}

a[i][j]=5*i+j+1;

for(i=0;i<5;i++) for(j=0;j<5;j++) {if(i==j)s+=a[i][j]; if(i+j==4)t+=a[i][j];} printf(\ } c.

求出数组的上三角的平均值和下三角的平均值; #include<> main() { } length (p) char *p; { int n; n=0;

while(*p!='\\0') { n++ ; p++ ; }

int num[5][5]={{1,2,3,4,5},{9,8,7,6,5},{1,5,9,2,6},{9,5,1,8,4},{3,5,7,4,1}}; int i,j,sum_1=0,sum_2=0; float avg_1,avg_2;

printf(\数组num[5][5]如下:\\n\,len);

return n; }

a. 编写函数int findCh(char *str , char ch),找出字符ch在字符串str中出现的第一个位置;

编写函数 void func(char *str),将str所指向字符串中的所有大写字母全变成小写字母;

#include \ #include <>

void change(char str[]) { int i;

for(i=0;str[i]!='\\0';i++) if(str[i]>='A' && str[i]<='Z') str[i]=str[i]+32; } main() {

void change(); char str[40]; gets(str); change(str); puts(str); }

b. 编写函数int func(char *str),将字符串中所有的数字字符删除掉,并将新生成的字符串

的长度作为返回值;比如 “abc123xyz” 过滤后 “abcxyz”返回值为6 #include <>