例题1 编写一个程序,将20个数读入计算机,统计正数 负数 0的个数。
思想:没读入一个数字,就用if判断是否正数 负数 0,然后对其进行相应的统计.由于 处理20个数字的方式相同,因此采用for循环结构,次数为20。
代码如下:
#include <math.h>
#include <stdlib.h>
void main()
{
float a;//输入数
int b=0;//大于0的数字
int c=0;//小余0的数字
int d=0;//0的个数
int i=0;//循环变量
printf("请输入20个数:\n");
for(i=0;i<20;i++)
{
scanf ("%f",&a);
if(a>0)
b++;
else if(a<0)
c++;
else
d++;
}
printf("大于0的数有:%d个\n",b);
printf("小于0的数有:%d个\n",c);
printf("0有:%d个\n",d);
}
看一下结果
例题2 打印如下图形
A B C D E
B C D E A
C D E A B
D E A B C
E A B C D
思想:打印5x5方阵,使用for循环潜逃来实现,外层循环控制行,内层循环控制列。外层用i用作循环变量,从0到4,定义变量t为要打印的值,在外层循环中,令t=65+i(ASCII),对于第一列,t会按照A到E打印,内层循环用j作为循环变量,0到4循环。如果t%5==4,那么t从A重新计数,否则t开始累加
代码如下
#include "stdio.h"
void main()
{
int i,j;//循环变量
int t;//t为打印值
for(i=0;i<5;i++)//控制行数
{
t=65+i;
for(j=0;j<5;j++)//控制打印内容
{
printf(" %c",t);//打印
if(t%5==4)
{
t=65;
}
else
t++;
}
printf("\n");//每行末打印回车
}
}
看一下结果