/* 《C语言程序设计教程学习指导》p118 实验内容(1) 这是一个常用格式控制符使用示例 运行程序,观察行结果,对照每一行printf()中的格式控制符,理解其功能和用法 */ #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; } // 8d,2d指输出的宽度为8和2,所以输出的1234前有空。 // 至于输出的123.456001这是计算机本身决定的,float型、double型的这种浮点数,在精度上不可能完全精确,运算过程中有一定精度丢失。 // 输出的123.5是%8.1f保留了一位小数 //%。2e指用科学计数法表示且保留小数点后两位。 //%lf指长整数,保留小数点后六位 //%3c指宽度为3的字符型变量 //%s指字符串输出 // 9行以宽度为10,输出最大字符长度为5的字符串,后面以此类推。不一致。
/* C语言程序设计教程学习指导》p119 实验内容(2) 这是一个格式化输入输出函数及格式符使用练习 找出两处错误,修改并运行程序 为a1,a2,a3,c1,c2,c3,x,y输入数据,使得: a1=1,a2=2,a3=3,c1='a',c2='b',c3='c', x=1.5, y=2.5 */ #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; } // scanf中a1,a2,a3缺少地址符 //“%f”f前缺少l //总结:%d %f %c %s分别表示整型 浮点型 字符型 字符串 //%5d指宽度为5的整型,%lf指长整数的浮点型,%.3f指浮点型小数点保留3位,%6.2f指宽度为6小数点保留2位浮点型 //scanf中必须用%lf而不能用%f,%ld表示长整数
/* 《C语言程序设计教程学习指导》p122 实验内容(1):判断三角形类型:一般三角形、等腰三角形、等边三角形 这是一个使用多分支if语句编程解决非数值类问题示例 运行程序,输入不同边长数据进行测试,观察输出结果是否正确,理解和巩固if语句功能和用法 */ #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; }
// 功能: 从键盘上输入数字选择屏幕配色方案,打印字符串 // 输入1, 选择黑底绿色配色方案 // 输入2,选择白底黑色配色方案 // 输入3,选择蓝底黑色配色方案 // 输入其它,选择黑底白字配色方案(默认) #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; }
#include<stdio.h> int main() { int a, b, c, d; printf("请输入一个三位以内的十进制整数:"); scanf("%d",&a); printf("计算其逆序数...\n"); b=a/10; c=a%10; d=a/100; if(a<0||a>999) printf("数据错误"); else if(a>=0&&a<10) printf("%d正序和逆序相同",a); if(a>=10&&a<100&&b==c) printf("%d正序和逆序相同",a); else if(a>=10&&a<100&&b!=c) printf("%d正序和逆序不同",a); if(a>=100&&a<1000&&d==c) printf("%d正序和逆序相同",a); else if(a>=100&&a<1000&&d!=c) printf("%d正序和逆序不同",a); return 0; }
#include <stdio.h> int main() { int a, b; printf("输入年份 月份:\n"); scanf("%d %d",&a ,&b); if(a<0||b<1||b>12) printf("输入的数据错误"); else{ if(a%4==0&&a%100!=0||a%400==0){ if(b==1||b==3||b==5||b==7||b==8||b==10||b==12) printf("%d年%d月是31天。", a, b); else if(b==2) printf("%d年%d月是29天。", a, b); else printf("%d年%d月是30天。", a, b); } else{ if(b==1||b==3||b==5||b==7||b==8||b==10||b==12) printf("%d年%d月是31天。", a, b); else if(b==2) printf("%d年%d月是28天。", a, b); else printf("%d年%d月是30天。", a, b); } } return 0; }
#include<stdio.h> #include<stdlib.h> int main() { int a,b; printf("输入分数(0~100):"); scanf("%d",&a); if(a<0||a>100){ printf("分数不在有效区间内.\n"); exit(0); } b=a/10; switch(b){ case 1: case 2: case 3: case 4: case 5:printf("不及格\n");break; case 6:printf("及格\n");break; case 7:printf("中等\n") ;break; case 8:printf("良好\n");break; case 9: case 10:printf("优秀\n");break; } return 0; }