实验二

Part1: 格式化输出函数printf()和格式化输入函数scanf()
1.在c程序开发环境下输入并运行程序ex2_1.c,运行程序,观察运行结果。

输入该段代码:

#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;
}

运行结果如图

各行分别为:

输入整形数据;

输入单精度数据;

输入双精度数据;

输入字符型数据;

输入数组;

而后输出为:

按照十进制类型输出y,z的值;

按照十进制输出y=和z=的值;

将x按照占8个数位输出,不足的用0来补充,将x按照2个数位输出;

将f分别按(小数,占8数位的小数,整数部分占8位小数部分取一位,小数部分占两位整数部分不变,指数)形式输出;

double型数据固定输出语句;

输出字符型数据;

分别取不同位数的字符型数据输出。

2.在c程序开发环境下输入程序ex2_2.c,查找并修改错误

/*
《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("%f,%lf",&x,&y);
printf("%f,%lf\n",&x,&y);
return 0;
}

 修改后程序应为:

#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;
}

 Part4: switch语句体验练习

/*
switch语句使用示例
输入1,2,3...的不同整数,显示不同提示信息
*/
#include <stdio.h>
int main() {
int level;
printf("输入现在状态等级(1-5): ");
scanf("%d",&level);
switch(level) {
case 1: printf("high翻了:)\n"); break;
case 2: printf("low爆了:(\n"); break;
default: printf("一言难尽,无法概括。。。\n");
}
return 0;
}

 实验结果如图:

去掉break,语句即不能在本句停止运行,有可能导致程序运算出错。

如图:

part5: 简单编程练习

设计的代码为:

 

#include <stdio.h>
int main() {
int answer;
printf("输入你的答案(A,B,C or D): ");
scanf("%d",&answer);
if(answer == 'A')
printf("biggo,you are right\n");
else
printf("try it again\n");
return 0;}

Part6: 拓展练习(===选做===)

输入年份,判断是否为闰年。

#include <stdio.h>
#include <stdlib.h>
int main() 
{
    int year;
    scanf("%d",&year);
    if(year<=0)
    {
       printf("输入数据错误\n");
       exit(0); 
    }
    if(year%100!=0&&year%400==0||year%4==0)
    
       printf("%d是闰年\n",year);
    
    else
    
       printf("%d不是闰年\n",year);
    
    return 0;
}

之前由于将%写成&出现错误,一直找没找到(挥手)(微笑)。

修改后运行如图

去掉#include <stdlib.h>和exit(0)后仿佛也没有什么变化...

完成。

 

posted on 2019-03-26 08:52  杨韬  阅读(237)  评论(0)    收藏  举报

导航