重庆市计算机等级考试C语言上机模拟试题
函数adddigit的原型为int adddigit(int num);,其功能是求num各位数字之和。要求编制该函数并用如下所示的主函数进行测试,源程序存入test1.c。
# include “stdio.h”
# include “math.h”
void main()
{ int adddigit(int num);
int n;
scanf(“%d”,&n);
printf(“sum=%d\n”,adddigit(n));
}
编制程序输出如下所示图形,源程序存入test11.c。
1
121
12321
1234321
123454321
12345654321
编制程序实现功能:从键盘上输入若干个值为0~32767之间的正整数,并将每个整数的各位数字之和存放在数组a中。要求:被处理数据的个数由键盘输入指定(小于50个数):求每个整数各位数字之和的功能用自定义函数实现:源程序存入test21.c。
编制程序实现其6Ⅹ6的整型矩阵的输入数据,然后求出其最大元素以及最大元素位置的下标并输出的功能,源程序存入test41.c。
编程实现从键盘为一个6Ⅹ6整型数组输入数据,然后找出其每一行中的最小值保存在一维数组中,并输出该一维数组的所有元素。源程序存入test51.c。
函数fac的原型为long fac(it j);,其功能是利用静态变量实现n!。要求编制该函数并用如下的主函数进行测试。源程序存入test61.c。
函数chrn的原型为int chrn(char *s,char c);,其功能是测试字符c在字符串s中出现的次数。要求编制该函数并用相应的主函数进行测试。源程序存入test71.c。
求出100~999之间能够被3整除,且至少有一位数字是5的所有整数。源程序存入test81.c。
编写一个程序计算下式之和。
1+(1+2)+(1+2+3)“stdio.h”
void main()
{ FILE *fp;
long num=0l;
if(( (fp=fopen(“f.dat”,”r”) )==NULL)
{ printf(“can not open the file\n”);
return;
}
while( fgetc(fp)!=feof(fp) )
num=num+1;
fclose(p);
printf(“num=%d\n”,num);
}
下列程序是将一个二维数组行和列的元素互换,存到另一个二维数组中。请输入并完善程序。源程序存入test2.c 。
# include “stdio.h”
void main()
{ int ,j,arr1[2][3]={{2,4,6},{1,3,5}},arr2[3][2];
printf(“Array arr1:\n”);
for(i=0;i<2;i++)
{for(j=0; j<3 ;j++)
{ printf(“%5d”,arr1[i][j]);
arr2 [j][i] =arr1[i][j];
}
printf(“\n”);
}
printf(“Array arr2:\n”);
for(i=0;i<3;i++)
{for(j=0; j<2 ; j++ )
printf(“%5d”,arr2[i][j]);