实验二
Part 1
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!"; // 定义一个数组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;
}

line 11:设置八个宽度,只有四个数字,所以前面会空四个字符;
设置两个宽度,但是有四个数字,此时字符不起作用,依旧是四个。
Line12:计算机在把十进制数转换为二进制数时有误差;
占八个宽度;
占八个宽度并且精确到小数点后一位;
精确到小数点后两位;
有e表示要按指数形式输出;
line 14:补空位
line 15: 按原来长传字符输出 ;
补空位;
十个宽度,设置输出5个字符;
两个宽度,输出5个字符;
输出三个字符
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);
return 0;
}

line 6: 缺少地址符;
line 10-11:double类型要长精度型
Part2:
#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;
}

无错误
if(a==b || a==c || b==c) {
if (a==b && a==c)
printf("构成等边三角形\n");
else
printf("构成等腰三角形\n");
}
else
printf("构成一般三角形\n");

也可以
ex2_4.cpp
#include <stdio.h>
#include <stdlib.h>
int main() {
char choice;
// 显示菜单
printf("输入0~9以内的数字,选择屏幕背景色前景色方案: \n");
printf("1-\t黑底绿色\n");
printf("2-\t白底黑色\n");
printf("3-\t蓝底白色\n");
printf("其它-\t黑底白色(默认)\n");
printf("\n请输入, 选择你想使用的屏幕配色方案: ");
// 要求用户从键盘输入0~9的数字,选择屏幕配色方案
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");
return 0;
}


#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:
1.
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int a,b,c,x,t;
printf("请输入一个三位以内的十进制整数:\n");
scanf("%d",&x );
t=x;
a=x%10;
x=x/10;
b=x%10;
x=x/10;
c=x;
x=a*100+b*10+c;
if(x==t)
printf("正序和逆序相同");
else
printf("正序和逆序不同") ;
return 0;
}

2
#include<stdio.h>
#include<stdlib.h>
int main()
{
int year,month,day,leapyear;
scanf("%d%d",&year,&month);
if(year<0||month<1||month>12)
{
printf("输入的数据错误!\n");
exit(0);
}
if(year%4==0&&year%100!=0||year%400==0)
{
day=day+1;
}
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
printf("day=31");
else if(month==2)
{
printf("day=%d",day);
}
else
{
printf("day=30");
}
return 0;
}

3.
#include<stdio.h>
#include<stdlib.h>
int main()
{
int score;
scanf("%d",&score);
if(score<0||score>100)
{
printf("输入的数据错误\n");
exit(0);
}
switch(score/10)
{
case 10:
case 9:printf("优秀\n");break;
case 8:printf("良好\n");break;
case 7:printf("中等\n");break;
case 6:printf("及格\n");break;
default:printf("不及格\n");break;
}
return 0;
}

实验总结与体会
尽管之前老师提到不要忘记;但是出错的原因往往还是漏掉了符号,,,

浙公网安备 33010602011771号