下面是一个c语言的循环的题目,实在是不知道怎么做,希望好心人士能帮我解决下,谢谢啦,希望有详细过程哦
#include<stdio.h>main(){ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0);i<12;i...
#include <stdio.h>
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");
}
程序运行结果是 展开
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");
}
程序运行结果是 展开
9个回答
展开全部
4332换行,三楼的写法太繁了,仔细观察程序,你只需要数一下数字的个数:数字1出现4次,所以输出结果第一个就是4,数字2出现3次,所以输出结果第二个就是3,依此类推,作这种题需要先观察程序,再尝试着写出程序执行前三次的结果,最后思考其中的规律,根据找到的规律,就可以自然而然地写出结果!!掌握方法,才能得心应手!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=0);i<12;i++) c[s[i]]++;
i值 s[i] c[s[i]]++ c[s[i]]
0 1 c[1]++ 1
1 2 c[2]++ 1
2 3 c[3]++ 1
3 4 c[4]++ 1
4 4 c[4]++ 2
5 3 c[3]++ 2
6 2 c[2]++ 2
7 1 c[1]++ 2
8 1 c[1]++ 3
9 1 c[1]++ 4
10 2 c[2]++ 3
11 3 c[3]++ 3
c[1]=4
c[2]=3
c[3]=3
c[4]=2
画成表格你应该看得清楚了吧。
i值 s[i] c[s[i]]++ c[s[i]]
0 1 c[1]++ 1
1 2 c[2]++ 1
2 3 c[3]++ 1
3 4 c[4]++ 1
4 4 c[4]++ 2
5 3 c[3]++ 2
6 2 c[2]++ 2
7 1 c[1]++ 2
8 1 c[1]++ 3
9 1 c[1]++ 4
10 2 c[2]++ 3
11 3 c[3]++ 3
c[1]=4
c[2]=3
c[3]=3
c[4]=2
画成表格你应该看得清楚了吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c[5] = { 0 };相当于累加器,将5个成员初始化为0;
s[12] = { ... };充当数组c[5]的下标
c[s[i]]++;统计s[12]中相同数的个数
那么
1出现了4次,即c[1] = 4;
2出现了3次,即c[2] = 3;
3出现了3次,即c[3] = 3;
4出现了2次,即c[4] = 2;
最后结果为:4332
s[12] = { ... };充当数组c[5]的下标
c[s[i]]++;统计s[12]中相同数的个数
那么
1出现了4次,即c[1] = 4;
2出现了3次,即c[2] = 3;
3出现了3次,即c[3] = 3;
4出现了2次,即c[4] = 2;
最后结果为:4332
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
运行结果是显示4332 并换行。
你可以把程序修改成如下就好理解一点。
#include <stdio.h>
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>
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 lines;
printf("Please input the number:");
scanf("%d",&lines);
for (int line=1;line <= lines;line++)
{
//输出数字
for (int a=lines;a > line;a--)
{
printf(" ");
}
for (a=1;a <= line;a++)
{
printf("%d",a);
}
for (a=line-1;a >= 1;a--)
{
printf("%d",a);
}
for (a=lines;a > line;a--)
{
printf(" ");
}
//输出字母
for (a=lines;a > line;a--)
{
printf(" ");
}
for (a=1;a <= line;a++)
{
printf("%c",a+64);
}
for (a=line-1;a >= 1;a--)
{
printf("%c",a+64);
}
for (a=lines;a > line;a--)
{
printf(" ");
}
printf("\n");
}
printf("\n");
}
void main()
{
int lines;
printf("Please input the number:");
scanf("%d",&lines);
for (int line=1;line <= lines;line++)
{
//输出数字
for (int a=lines;a > line;a--)
{
printf(" ");
}
for (a=1;a <= line;a++)
{
printf("%d",a);
}
for (a=line-1;a >= 1;a--)
{
printf("%d",a);
}
for (a=lines;a > line;a--)
{
printf(" ");
}
//输出字母
for (a=lines;a > line;a--)
{
printf(" ");
}
for (a=1;a <= line;a++)
{
printf("%c",a+64);
}
for (a=line-1;a >= 1;a--)
{
printf("%c",a+64);
}
for (a=lines;a > line;a--)
{
printf(" ");
}
printf("\n");
}
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询