第3章 数组和字符串
程序3-1 逆序输出
#include <stdio.h>
#define MAXN 100+10
int a[MAXN];
int main()
{
int i,x,n=0;
while (scanf("%d",&x)1)
a[n++]=x;
for (i=n-1;i>=1;i–)
printf("%d",a[i]);
printf("%dn",a[0]);
return 0;
}
例题3-1 开灯问题
程序3-2 开灯问题
#include <stdio.h>’
#include <string.h>
#define MAXN 1000+10
int a[MAXN];
int main()
{
int i,j,n,k,first=1;
memset(a,0,sizeof(a));
scanf("%d%d",&n,&k);
for(i=1;i<k=k;i++)
for (j=1;j<=n;j++)
if (j%i0) a[j]=!a[i];
if (a[i]){if (first) first=0;else printf(" “);printf(”%d",i);}
printf("n");
return 0;
}
例题3-2 蛇形填数
程序3-3 蛇形填数
#include <stdio.h>
#include <string.h>
#define MAXN 10
int a[MAXN][MAXN];
int main()
{
int n,x,y,tot=0;
scanf("%d:,&n);
memset(a,0,sizeof(a));
tot=a[x=0]=