C语言实验参考答案-详细版-安徽大学(7)

2025-11-11

31

7. 编写程序,求一个正整数的位数(提示:关系表达式的值可以参与算术运算)。(此题为选做)

#include main()

{long a,n=0,m=1;

printf(\请输入一个正整数a=\ scanf(\do

{if(a/m!=0){n++;m=m*10;} else break; } while(1);

printf(\正整数%ld的位数是:%ld\\n\} 实验九

1、求一个3×3的整数矩阵的副对角线上所有奇数的和sum2。 #include main()

{int a[3][3],sum2=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++)

{scanf(“%d”,&a[i][j]);

32

if(i+j==2&&a[i][j]%2)

sum2+=a[i][j]; }

printf(“sum2=%d”,sum2); }

2、输入一个正整数n(1

⑴ 输出这些数的平均值(保留2位小数)。 ⑵ 把这些数逆序后再输出。

⑶ 输出它们中的最大值及其下标(设最大值唯一,下标从0开始)。

⑷ 将它们中的最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。

#include main()

{int a[10],n,min,max,xb0,xb1,i,sum,t; float aver; printf(\scanf(\for(i=0;i

33

max=a[0];xb1=0; sum=a[0]; for(i=1;i

{if(min>a[i]){min=a[i];xb0=i;}; if(max

aver=1.0*sum/n;

printf(\平均值为:%3.2f\\n\printf(\逆序输出:\

for(i=0;i

printf(\最大值为:%d,其下标为:%d\\n\t=a[0];a[0]=a[xb0];a[xb0]=t; for(i=0;i

t=a[n-1];a[n-1]=a[xb1];a[xb1]=t; printf(\经交换后输出:\for(i=0;i

34

printf(\}

3. 定义一个含有30个整型元素的数组a,按顺序分别赋予从2开始的偶数;然后按顺序每5个数求出一个平均值,放在另一个数组b中存储,输出数组b中6个元素的值。

#include main() {int a[30],i,j;

float b[6]={0,0,0,0,0,0}; for(i=0;i<30;i++)a[i]=(i+1)*2; for(i=0;i<6;i++) {for(j=0;j<5;j++)

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

b[i]=b[i]/5.;

printf(\ } }

4. 通过循环按行顺序为一个5×5的二维数组a赋1到25的自然数,然后输出该数组的左下半角元素的值。

#include main() {int a[5][5],i,j;

35

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

for(j=0;j<5;j++)a[i][j]=i*5+j+1; for(i=0;i<5;i++)

{for(j=0;j<=i;j++) printf(\ printf(\} }

5. 从键盘输入两个字符串a和b,要求不使用库函数strcat,把串b的前5个字符连接到串a中;如果b中的长度小于5,则把b的所有元素都连接到a中。

#include main()

{char a[20],b[20]; int i,j; gets(a); gets(b);

for(i=0;a[i]!='\\0';i++); for(j=0;b[j]!='\\0'&&j<5;j++)

a[i+j]=b[j]; a[i+j]='\\0'; puts(a); }


C语言实验参考答案-详细版-安徽大学(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:首件桩基钢筋笼加工施工方案

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219