⑴ c语言程序设计问题: 求最大、次大、最小和次小值
int i, n, k1, k2, k3, k4,
    max, pmax, min, pmin,
    num[ N ], sub[ N ];
    scanf ( "%d\n", &n );
scanf 函数里不要加' \n ' 和别的一些特殊符号,最好什么都别乱加,直接使用%d  %f 等一些格式输入符。 
# include <stdio.h>
# define N 30
int main ( )
{
    int i, n, k1, k2, k3, k4,
    max, pmax, min, pmin,
    num[ N ], sub[ N ];
	printf("输入整数的总个数:");
    scanf ( "%d", &n );
    for ( i = 0; i < n; i ++ )
	{
		printf("输入你喜欢的整数和它的序列号: ");
		scanf ( "%d%d",&num[ i ], &sub[ i ] );
	}
    max = min = pmax = pmin = num[ 0 ];
    k1 = k2 = k3 = k4 = sub[ 0 ];
    
    for ( i = 1; i < n; i ++ ) {
        if ( max <= num[ i ] ) { //最大值
            max = num[ i ];
            k1 = sub[ i ];
        }
        if ( min >=num[ i ] ) {  //最小值
            min = num[i];
            k3 = sub[i];
        }
        if (  pmax <=num[ i ] && num[ i ] !=max   ) {   //次大值
            pmax = num[ i ];
            k2 = sub[ i ];
        }
        if (  pmin >= num[ i ] && num[ i ] !=min ) {  //次小值
            pmin = num[ i ];
            k4 = sub[ i ];
        }
    }
    printf ( "max=%d,maxNum=%d\n pmax=%d,pmaxNum=%d\nmin=%d,minNum=%d \npmin=%d,pminNum=%d\n", max, k1, pmax, k2, min, k3, pmin, k4 );
           
    return 0;
}
⑵ 求教,用c语言,循环语句输出一个五角星,带运行图。
提供示例代码供参考:
#include<stdio.h>
voidmain()
{
inti1,j1,k1,i2,j2,k2,i3,j3,k3,i4,j4,k4,m4,n4;
printf(" ");
for(i1=1;i1<6;i1++)/*这是五角星的上面一个角*/
{
for(j1=1;j1<19-i1;j1++)
printf("");
for(k1=1;k1<=2*i1-1;k1++)
printf("*");
printf(" ");
}
for(i2=1;i2<5;i2++)/*这是五角星的中间两个角*/
{
for(j2=1;j2<3*i2-3;j2++)
printf("");
for(k2=1;k2<=42-6*i2;k2++)
printf("*");
printf(" ");
}
for(i3=1;i3<3;i3++)/*这是中间与下部相接的部分*/
{
for(j3=1;j3<12-i3;j3++)
printf("");
for(k3=1;k3<=12+2*i3;k3++)
printf("*");
printf(" ");
}
for(i4=1;i4<5;i4++)/*这是五角星的下面两个角*/
{
for(j4=1;j4<10-i4;j4++)
printf("");
for(k4=1;k4<=10-2*i4;k4++)
printf("*");
for(m4=1;m4<6*i4-3;m4++)
printf("");
for(n4=1;n4<=10-2*i4;n4++)
printf("*");
printf(" ");
}
printf(" ");
}
运行截图:

⑶ 51单片机使用T0和T1外部脉冲计数,C语言如何编程
1、使用T0和T1外部脉冲计数,控制两个电机,到1700个脉冲电机停止,
--统计脉冲个数,用外部中断更好。
--T0和T1,留着定时用。
用四个按键控制,按键1控制电机正转,按键2控制电机反转,按键3控制电机1正转,按键4控制电机2正转。
2、例程:
#include<reg51.h>
sbitk1=?;//自己定义
sbitk2=?
sbitk3=?
sbitk4=?
sbitDIAN1=?
sbitDIAN2=?
sbitDIAN3=?
sbitDIAN4=?
sbitSEN1=?
sbitSEN2=?
voiddelay(unsignedintx)
{
unsignedintm,n;
for(m=x;m>0;m--)for(n=115;n>0;n--);
}
voidmain(void)
{
TMOD=0x55;
IE=0x8a;
while(1){
if(!k1){
delay(10);
if(!k1){
while(!k1);
TH0=(65536-1700)/256;
TL0=(65536-1700)%256;
SEN1=0;
DIAN1=0;DIAN2=1;
SEN1=1;
TR0=1;
}
}
if(!k2){
delay(10);
if(!k2){
while(!k2);
TH0=(65536-1700)/256;
TL0=(65536-1700)%256;
SEN1=0;
DIAN1=1;DIAN2=0;
SEN1=1;
TR0=1;
}
}
if(!k3){
delay(10);
if(!k3){
while(!k3);
TH1=(65536-1700)/256;
TL1=(65536-1700)%256;
SEN2=0;
DIAN3=0;DIAN4=1;
SEN2=1;
TR1=1;
}
}
if(!k4){
delay(10);
if(!k4){
while(!k4);
TH1=(65536-1700)/256;
TL1=(65536-1700)%256;
SEN2=0;
DIAN3=1;DIAN4=0;
SEN2=1;
TR1=1;
}
}
}
}
⑷ 单片机C语言编程:控制流水灯
 #include<reg52.h>
#include<reg52.h>
#include<intrins.h>
#define	uintunsignedint
#define	ucharunsignedchar
sbitk1=P1^0;//左循环按钮
sbitk2=P1^1;//右循环按钮
sbitk4=P1^2;//恢复暂停
sbitk3=P3^2;//暂停
voidinit();
voidshowLED();
voiddelay(uintxms);
uintdelayTime;
uintgoLeft=1;
uintgoRight=0;
uintsFlag=0;
voidmain()
{
	init();
	while(1)
	{		
		if(k1==0)
		{
			delay(10);
			if(k1==0)
			{
				while(k1==0);
				goLeft=1;
				goRight=0;
			}
		}
		if(k2==0)
		{
			delay(10);
			if(k2==0)
			{
				while(k2==0);
				goLeft=0;
				goRight=1;
			}
		}
	}
}
voiddelay(uintxms)
{
	uinti,j;
	for(i=xms;i>0;i--)
		for(j=112;j>0;j--);
}
voidinit()
{
	P0=0xfe;
	TMOD=0x02;//T0工作模式2自动装填8位	200us
TH0=0x38;
TL0=0x38;
EA=1;
	ET0=1;
TR0=1;
	EX0=1;
	IT0=1;
}
voidshowLED()
{
	if(goLeft==1)
		P0=_crol_(P0,1);
	if(goRight==1)
		P0=_cror_(P0,1);		
}
voidmoveDelay()interrupt1	//一次中断200us
{
	if(delayTime==5000)
	{
		showLED();
		delayTime=0;
	}	
	else		
		delayTime++;
			
}
voidstopLED()interrupt0
{
	while(1)
	{
		if(k4==0)
		{
			delay(10);
			if(k4==0)
			{
				while(k4==0);
				break;
			}
		}	
	}
}
						
