Part1
ex2_1.cpp
#include <stdio.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);
return 0;
}

第三行输出数据宽,数据长度<m,左补空格,否则按实际输出
第四行前两个同上,第三个.1为小数点后位数,第四个0指不使用空位置,第五个e是以指数形式输出
第六行 3 左边补空格
第八行 15s 左边补空格
第九行10.5s 总输出10位,实际输出5位
第十行2.5s 2小于,.5输出5位
第十一行.3输出3位
ex2_2.cpp
正确答案
#include <stdio.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);
getchar();
return 0;
}

原题错误点
1。输入时a1,a2,a3前没有&
2。%f应为%lf
Part2:验证性内容
ex2_3.cpp
原题
#include <stdio.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");
return 0;
}
依次运行结果





思考
#include <stdio.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");
return 0;
}
运行成功





ex2_4.cpp
验证成功
思考题
#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请输入, 选择你想使用的屏幕配色方案: ");
// 要求用户从键盘输入0~9的数字,选择屏幕配色方案
scanf("%d",&choice);
// 根据用户输入,设置屏幕配色方案
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");
return 0;
}
运行成功,截图如下




Part3:编程练习
第一个
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main() {
int x,t,a,b,c;
printf("请输入一个三位以内的十进制数:\n");
scanf("%d",&x);
t=x;
a=x%10;
x=x/10;
b=x%10;
x=x/10;
c=x%10;
x=a*100+b*10+c;
if(x==t)
printf("正序与逆序相同");
else
printf("正序与逆序不同");
return 0 ;
}


第二题
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main() {
int x,y,z;
int a=28;
printf("输入年份 月份:");
scanf("%d%d",&x,&y);
if(x<0||y>12||y<1)
{
printf("输入数据错误\n");
exit(0);
}
if(x%4==0&&x%100!=0||x%400==0)
{
a=a+1;
}
if(y==1||y==3||y==5||y==7||y==8||y==10||y==12)
printf("day=31");
else if(y==2)
{
printf("day=%d",a);
}
else
{
printf("day=30");
}
return 0;
}





#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main() {
int x;
printf("输入分数(0~100)");
scanf("%d",&x);
switch(x/abs(x)){
case 1:switch(x/10)
{
case 10:
case 9:printf("优秀\n");break;
case 8:printf("良好\n");break;
case 7:printf("中等\n");break;
case 6:printf("及格\n");break;
case 5:printf("不及格\n");break;
case 4:printf("不及格\n");break;
case 3:printf("不及格\n");break;
case 2:printf("不及格\n");break;
case 1:printf("不及格\n");break;
case 0:printf("不及格\n");break;
default:printf("数据错误\n");break;
}
case -1:printf("数据错误\n");break;
}
return 0;
}







实验总结与体会
遇到不会的直接上就行了
scanf经常忘记&
没事别乱加\n
第三个编程-1除以10是0!