两道关于C语言的题,急求详解,会的给重谢~~~

来源:百度知道 编辑:UC知道 时间:2024/05/22 23:47:53
#include<stdio>
main()
{int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
for(i=0;i<12;i++) c[s[i]]++;
for(i=1;i<5;i++)
printf("d%",c[i])
printf("/n")

#include<stdio>
main()
{ int i,j,sum;
for(i=3;i>=1;i--)
{
sum=0;
for(j=1;j<=i;j--)
sum+=i*j;
}
printf("%d",sum)
}

第一题 从s[12]={1,2,3,4,4,3,2,1,1,1,2,3}和c[s[i]]++可以看出c[1]加了4次 输出4 c[2]加了3次 c[3] 3次 c[4] 2次 所以输出4332
第二题 因为每次循环都要清0 所以直接看最后一次循环 sum=i*j=1*1=1 输出1

#include<stdio.h>
void main()
{int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
for(i=0;i<12;i++) c[s[i]]++;
for(i=1;i<5;i++)
printf("%d",c[i]) ;
printf("\n") ;
}

#include<stdio.h>
void main()
{ int i,j,sum;
for(i=3;i>=1;i--)
{
sum=0;
for(j=1;j<=i;j++)
sum+=i*j;
}
printf("%d",sum) ;
}

第一题有错误:<stdio> 改成<stdio.h> ,d%要改成%d
第一题输出:0 4 3 3 2(注意2后面有换行)
第一题详解:
s[12]有0个0,c[0]增加0,
s[12]有4个1,c[1]增加4,
s[12]有3个2,c[2]增加3,
s[12]有3个3,c[3]增加3,
s[12]有2个4,c[4]增加2,

第二题貌似也有错误,否则死循环了:<stdio> 改成<stdio.h> ,j--改成j++
第二题输出:25
第二题详解:
该题实现的是计算 3*3+3*2+3*1+2*2+2+1+1*1