
第二章
4.编写一个 C 程序,在屏幕上显示一行字符。
#include <stdio.h>
void main()
{printf("HelloWorld!");}
5.编写一个 C 程序,在屏幕上显示 3 行字符(自己选择)。
#include <stdio.h>
void main()
{int i;
for(i=0;i<3;i++)
{printf("Hello World!"); }}
6.图案设计:用任一字符制作三角形、菱形、正方形、五角星
等图案。选择字符为“*”:
三角代码#include <stdio.h>
void main()
{ printf("%2c",' '); printf("%2c",'*');
printf("%2c",'*');printf("%2c",'*');
printf("%2c",'*');}
菱形代码:#include <stdio.h>
void main()
{printf("%2c",' ');printf("%2c",'*');
printf("%2c",'*'); printf("%2c",' '); printf("%2c",'*');
printf("%2c",' ');printf("%2c",'*');}
正方形代码:#include <stdio.h>
void main()
{printf("%2c",'*');printf("%2c",'*');
printf("%2c",'*');printf("%2c",'*');
printf("%2c",'*');printf("%2c",'*');
printf("%2c",'*');printf("%2c",'*');
printf("%2c",'*');}
第三章
6、从键盘上输入一个实数,把它强制转换为整型数据,并输出
到屏幕上。
void ForceCon()
{ float reala;
scanf(“%f”,&reala); printf(“%d”,(int)reala);}
void main()
{ ForceCon();}
7、已知 integera=15,计算
,并将结果赋给变量 realb
void fun1()
{ int integera=15;
float realb;
realb=( integera*100)/8;
printf(“realb=%f”,realb);}
void main()
{ fun1();}
8、设计程序,输入实型数据 reala、b,然后输出 realab 的值
void RealEval()
{ float reala,realb;
printf(“input two real:”);
scanf(“%f%f”,& reala,& realb);
printf(“reala=%f, realb=%f”, reala, realb);}
void main()
{RealEval();}
第四章
5.为下列问题设计算法,分别用传统流程图、N-S 流程图和伪
代码表示出来。
(1)输入一个圆的半径,计算圆的周长和面积。
解: #define PAI 3.14
scanf(“输入圆的半径 r”);
求解圆的周长 C = 2 * PAI * r;
求解圆的面积 S = PAI * r * r;
(2)有两个瓶子 A 和 B,分别盛放醋和酱油,要求将它们互换
(即 A 瓶原来盛醋,现在改盛酱油,B 瓶则相反)。
解: 存在空瓶 C,将 A 瓶的导入 C,C=A;
将 B 瓶的代入 A,B=A;
将 C 瓶的倒入 B,B=C
(3) 求方程式
的根。分别考虑:有两个不等
的实根;有两个相等的实根。
解: if(
)
输出该方程有两个不等的实根;
else if(
)
输出该方程有两个相等的实根;
(4)有 3 个数 num1、num2、num3,要求按大小顺序把它们打
印出来。
解: if(num1 > num2)
{if(num2 > num3)输出顺序 num1,num2,num3;
else if(num3 > num1)输出顺序 num3,num1,num2;
else if(num3 > num2)输出顺序 num1,num3,num2;}
else{if(num1 > num3)输出顺序 num2,num1,num3;
else if(num3 > num2)输出顺序 num3,num2,num1;
else if(num3 > num1)输出顺序 num1,num3,num2;}
(5) 判断一个数 n 能否同时被 3 和 5 整除。
if(n%3 等于 0,并且 n%5 等于 0)输出 n
(6)1~1000 之间 3 的倍数的整数有多少个?
for(i=1;i<1000;i++)
if(n%3 等于 0) num ++;输出 num
(7)求 1+2+3+。。。。。。。。。+100 的和。
for(i=1;i<=100;i++) sum += i;将每个数加起来输出 sum
(8) 将 100~200 之间的所有素数打印出来。
for (i=100;i<=200;i++)
{for(j=1;j<i;j++)
if(i%j 等于 0) break; if(j == i) 输出 i; }