C语言程序分析题和编程题

来源:百度知道 编辑:UC知道 时间:2024/06/22 00:22:16
阅读程序,写出运行结果
(1)#include"stdio.h"
main()
{int i,j;
for(i=4;i>=1;i--)
{for(j=1;j<=i;j++)
putchar('#');
for(j=1;j<=4-i;j++)
putchar('*');
putchar('\n');}
}

(2)void f1(intx,inty,intz)
{x=111;y=222;z=333;}
main()
{intx=100,y=200,z=300;
f1(x,y,z);
printf("%d,%d,%d\n",z,y,x);
}

(3)设有一个已按从大到小的顺序排好的数列存放在一维数组中,现输入一个数,仍按原来的排序规律将其插入到数组中,试编程。

一二两题希望高人能稍微点拨一下问题的思路跟解法,不要只说答案,谢谢各位啦!

####
###*
##**
#***

i 可控制列
输出(#)号i个
j在行中星号(*)根据i的值输出4-i个

300,200,100
f1()是自定义的函数,并对x y z 分别进行了初始化(默认值),在主函数中调用,当没有参数传递时,将这三个数进行输出,否则将输出传递过来的参数值

3 进行中
#include<stdio.h>
main()
{
int a[6] = { 9, 7, 5, 3, 1 }; //假设排序已进行
int t;
int i, j;
for(i = 0;i<5; i++)
printf("%d ",a[i]);
printf("\n");

printf("请输入您要插入的数字(1--9)【 】\b\b");
scanf("%d", &t);

for ( i = 0; i < 5; i++)
if( t>=a[i+1] && t<a[i] ) //小于前一个 而 大于后一个
{
for(j = 5; j >i; j--)
a[j] = a[j-1]; //重新赋值

a[i+1] = t;
break;

}

for(i = 0; i<=5; i++)
printf("%d ",a[i]);
printf("\n");

}

(1)
#### /* i=4 #输出4个 *输出4-i个 */
###* /* i=3 #输出3个 *输出4-i个 */
##** /* i=2 #输出2个 *输出4-i个 */