第1题 (分) 题号:390
功能:编写函数求 1~100 中奇数的平方和。
结果为。
答案:
float s=0;
int i;
for(i=1;i<=n;i=i+2)
s=s+i*i;
return(s);
第2题 (分) 题号:320
功能:在键盘上输入一个 3 行 3 列矩阵的各个元素的值(值
为整数),然后输出主对角线元素的积,并在 fun()
函数中输出。
答案:
int sum;
int i,j;
sum=1;
for(i=0;i<3;i++)
sum=sum*a[i][i];
return sum;
第3题 (分) 题号:324
功能:能计算从 1 开始到 的自然数中偶数的平方的和, 由
键盘输入,并在 main()函数中输出。( 是偶数)
答案:
int sum,i;
sum =0;
for(i=2;i<=n;i=i+2)
{
sum=sum+i*i;}
return(sum);
第4题 (分) 题号:345
功能:将两个两位数的正整数 a、b 合并形成一个整数放在 c
中。合并的方式是:将 a 数的十位和个位数依次放在
c 数的千位和十位上, b 数的十位和个位数依次放在
c 数的个位和百位上。
例如:当 a=45,b=12。调用该函数后,c=4251。
答案:
*c=a/10*1000+a%10*10+b/10+b%10*100;
第5题 (分) 题号:366
功能:求一组数中大于平均值的数的个数。
例如:给定的一组数为 1,3,6,9,4,23,35,67,12,88 时,函
数值为 3。
答案:
int i,k=0;
float s=0,ave;
for(i=0;i
s+=a[i];
ave=s/n;
printf("%f ",ave);
for(i=0;i
if(a[i]>ave)k++;
return k;
第6题 (分) 题号:355
功能:对长度为 8 个字符的字符串,将 8 个字符按降序排列。
例如:原来的字符串为 CEAedcab,排序后输出为 edcbaECA。
答案:
int i,j;
char t;
for(i=0;i
for(j=i+1;j
if(s[i]
{ t=s[i];s[i]=s[j];s[j]=t;}
第7题 (分) 题号:44
功能:求出二维数组周边元素之和,作为函数值返回。二
维数组的值在主函数中赋予。
答案:
int s=0;
int i,j;
for(i=0;i
s=s+a[i][0]+a[i][N-1];
for(j=1;j
s=s+a[0][j]+a[M-1][j];
return s;
第8题 (分) 题号:339
功能:判断整数 x 是否是同构数。若是同构数,函数返回 1;
否则返回 0。x 的值由主函数从键盘读入,要求不大
于 100。
说明:所谓“同构数”是指这样的数,这个数出现在它的
平方数的右边。
例如:输入整数 5,5 的平方数是 25,5 是 25 中右侧的数,所
以5 是同构数。
答案:
int k;
k=x*x;
if((k%10==x)||(k%100==x))
return 1;
else
return 0;
第9题 (分) 题号:383
功能:用函数实现字符串的复制, 不允许用 strcpy()函数。
答案:
int i;
for(i=0;str1[i]!='\0';i++)
str2[i]=str1[i];
str2[i]='\0';
第10题 (分) 题号:310
功能:计算并输出给定整数 n 的所有因子之和(不包括 1 与
自身)。
注意:n 的值不大于 1000。
例如:n 的值为 855 时,应输出 704。
答案:
int s=0,i;
for(i=2;i