C语言问题,急求高手(05,4,44)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言问题,急求高手(05,4,44)相关的知识,希望对你有一定的参考价值。
(44)有下列程序:
main( )
int num[4][4]=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j;
for(i=0;i<4;i+ +)
for(j=0;j<i;j+ +)
printf("%4c",' ');
for(j=__;j<4;j+ +)
printf("%4d",num[i][j]);
printf("\n");
若要按下列形式输出数组右上半三角。
1 2 3 4
6 7 8
11 12
16
则在程序下划线处应填入的是( )。
A)i-1 B)i
C)i+1 D)4-i
为什么选B呢,第一个printf里那个空格是什么意思啊,谢谢
1 2 3 4 是num[0][0]开始到num[0][3] //当i=0时,j=0
6 7 8 是num[1][1]开始到num[1][3] //当i=1时,j=1
11 12 是num[2][2]开始到num[2][3] //当i=2时,j=2
16 是num[3][3]开始到num[3][3] //当i=3时,j=3 参考技术A 第一个printf输出的是每两个数字用一个空格作为分隔符。至于选B个人认为是控制数组行、列输出元素的个数。
C语言模拟排队编程,急求完整答案
参考技术A 这个题有够无聊的,不过这明显是个基础教学用PPT,是帮助理解的案例,不是用来考人的,
那这些模拟数字应该都是直接写入的吧:
//state1
int q[10];
//state2
q[0] = 9;
q[1] = 5;
q[2] = 2;
q[3] = 7;
//state3
q[4] = 6;
q[5] = 4;
//state4
for(int i = 0;i < 4;i++)q[i] = q[i+2];
q[4] = 0;q[5] = 0;
//state5
for(int i = 4;i >= 3;i--)q[i] = q[i-1];
q[4] = 3;
//state6
int k;
for(int i = 0;i <= 4;i++)if(q[i] == 3)k = i;break;
//state7
for(int i = k;i < 4;i++)q[i] = q[i+1];
q[4] = 0;
//state8
for(int i = 0;i < 4;i++)cout<<q[i]; 参考技术B #include "stdafx.h"
int main(int argc, char* argv[])
int queue[10]=9,5,2,7,0,0,0,0,0,0;
int n = 4; //数组有效数字长度
printf("状态1:队列可容纳总人数为10\n");
//========================================
printf("状态2:"); //状态2:输出当前队列
for(int i=0;i<n;i++) //输出队列
printf("%d,",queue[i]);
printf("\n");
//========================================
queue[n++]=6; //状态3:后面来2个人
queue[n++]=4;
printf("状态3:");
for(i=0;i<n;i++) //输出队列
printf("%d,",queue[i]);
printf("\n");
//========================================
for(i=0;i<n-2;i++) //状态4:前面走了2个人
//所有元素向前移
queue[i]=queue[i+2];
queue[--n]=0; //清空后面两个元素
queue[--n]=0;
printf("状态4:");
for(i=0;i<n;i++) //输出队列
printf("%d,",queue[i]);
printf("\n");
//========================================
int pos7=-1; //3朋友7的位置
for(i=0;i<n;i++) //查找3朋友7的位置
if(queue[i]==7)
pos7=i;
break;
if(pos7>=0 && pos7 < 9) //7必须在队列里,且不能是最后一个元素,不然插不了队
for(i=n-1;i>=pos7-1;i--)//7以及7后面的元素向后移
queue[i+1]=queue[i];
queue[pos7]=3; //3插队
n++; //队列变长了
printf("状态5:");
for(i=0;i<n;i++) //输出队列
printf("%d,",queue[i]);
printf("\n");
//========================================
printf("状态6:没有变化,3正在被批评教育中...\n");
//========================================
int pos3=-1; //3的位置
for(i=0;i<n;i++) //查找3的位置
if(queue[i]==3)
pos3=i;
break;
for(i=pos3;i<n;i++) //状态7:3后面的元素向前移
queue[i]=queue[i+1];
queue[--n]=0; //清除最后一个多余的元素
printf("状态7:");
for(i=0;i<n;i++) //输出队列
printf("%d,",queue[i]);
printf("\n");
//========================================
for(i=0;i<n;i++) //状态8:大家都去办公室了,队列里面没人了
queue[i]=0;
n=0;
printf("状态8:大家都去办公室了,队列里面没人了\n");
//========================================
getchar(); //程序暂停,按任意键退出
return 0;
以上是关于C语言问题,急求高手(05,4,44)的主要内容,如果未能解决你的问题,请参考以下文章
急求!1急求!!用c语言实现类似网页验证码的算法。拜托啦!!!
急!!!求教高手!用c语言实现1,5,6,11,14,15,16,18,19的全排列,并且要求14要在11后面,18要在16后面。