Part1: 格式化输出函数printf()和格式化输入函数scanf()
#include <stdio.h>
#include<stdlib.h>
int main() {
int x=1234;
float f=123.456;
double m=123.456;
char ch='a';
char a[]="Hello, world!";
int y=3, z=4;
printf("%d %d\n", y, z);
printf("y=%d, z=%d\n", y,z);
printf("%8d,%2d\n", x,x);
printf("%f, %8f, %8.1f, %0.2f, %.2e\n",f,f,f,f,f);
printf("%lf\n",m);
printf("%3c\n", ch);
printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a);
system("pause");
return 0;
}

#include <stdio.h>
#include<stdlib.h>
int main() {
double x,y;
char c1,c2,c3;
int a1,a2,a3;
scanf("%d%d%d",&a1,&a2,&a3);
printf("%d,%d,%d\n",a1,a2,a3);
scanf("%c%c%c",&c1,&c2,&c3);
printf("%c%c%c\n",c1,c2,c3);
scanf("%lf,%lf",&x,&y);
printf("%lf,%lf\n",x,y);
system("pause");
return 0;
}

Part2: 验证性内容
#include <stdio.h>
#include<stdlib.h>
int main() {
double a,b,c;
scanf("%lf %lf %lf", &a, &b, &c);
if(a<0 || b<0 || c<0)
printf("不能构成三角形\n");
else if(a+b>c && a+c>b && b+c>a) {
if(a==b && a==c)
printf("构成等边三角形\n");
else if(a==b || a==c || b==c)
printf("构成等腰三角形\n");
else
printf("构成一般三角形\n");
}
else
printf("不能构成三角形\n");
system("pause");
return 0;
}




思考:line14-line19替换成以下代码,是否可以?在软件环境中,替换代码,然后运行程序,输入不同边长数 据进行测试验证
答:逻辑成立
以下是代码
#include <stdio.h>
#include<stdlib.h>
int main() {
double a,b,c;
scanf("%lf %lf %lf", &a, &b, &c);
if(a<0 || b<0 || c<0)
printf("不能构成三角形\n");
else if(a+b>c && a+c>b && b+c>a) {
if(a==b || a==c || b==c)
{
if (a==b && a==c)
printf("构成等边三角形\n");
else
printf("构成等腰三角形\n");
}
else
printf("构成一般三角形\n");
}
else
printf("不能构成三角形\n");
system("pause");
return 0;
}
以下是运行结果




要求用户从键盘输入0~9之间的数字,选择屏幕配色方案,打印字符串。
改为
#include <stdio.h>
#include <stdlib.h>
int main() {
int choice;
printf("输入0~9以内的数字,选择屏幕背景色前景色方案: \n");
printf("1-\t黑底绿色\n");
printf("2-\t白底黑色\n");
printf("3-\t蓝底白色\n");
printf("其它-\t黑底白色(默认)\n");
printf("\n请输入, 选择你想使用的屏幕配色方案: ");
choice = getchar();
if (choice == '1') {
system("color 02");
printf("《黑客帝国》一类的影视剧常见这种屏幕色:)\n");
}
else if(choice == '2') {
system("color f0");
printf("大部分编辑器默认是这种配色:)\n");
}
else if(choice == '3') {
system("color 1f");
printf("这是机器蓝屏故障时的不讨喜色:)\n");
}
else {
system("color 0f");
printf("控制台程序默认小黑窗:)\n");
}
printf("programming is fun, just try@_@\n");
system("pause");
return 0;
}
结果为:



part3: 编程练习
从键盘上输入一个三位数以内的十进制整数,判断其是否满足正序、逆序相同。例如,121满足。156不满足。
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int x,a,b,c,m;
printf("请输入一个整数:\n");
scanf("%d",&x);
if(x<100||x>999)
{
printf("这不是一个有效的三位数\n");
}
else
{
a = fabs(x)/100;
b = (fabs(x)-a*100)/10;
c = (fabs(x)-a*100-b*10);
m = a + b*10 + 100*c;
if(m == x)
{
printf("yes\n");
}
else
{
printf("no\n");
}
}
system("pause");
return 0;
}



从键盘上输入年份和月份,计算该月有多少天。(要求:用if语句实现)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int x,y;
printf("请输入年份 月份:\n");
scanf("%d %d",&x,&y);
if(y<1||y>12)
{
printf("这不是一个有效的月份\n");
}
else
{
if(y==1||y==3||y==5||y==7||y==8||y==10||y==12)
{
printf("%d年%d月有31天\n",x,y);
}
else if(y==4||y==6||y==9||y==11)
{
printf("%d年%d月有30天\n",x,y);
}
else
{
if(x%4 == 0 && x%100 != 0 ||x %400 == 0 )
{
printf("%d年%d月有29天\n",x,y);
}
else
{
printf("%d年%d月有28天\n",x,y);
}
}
}
system("pause");
return 0;
}





实验总结:
1、通过本次实验,我已经对if语句有了初步的掌握,基本能写出较为简单的代码
2、写代码时语言不够简洁,一些细节性的错误经常犯,我应该通过练习来对此进行加强