Scanf( )和printf( )是万能型输入输出函数(适用于任意数据类型); 对于单字符的输入输出,还可用getchar( )或putchar( )函数。
实验报告(二)
1、从键盘输入一个百分制的分数,判断并输出分数对应的等级(优秀、良好、中等、及格、不及格),若输入非法分数,则显示报错信息,重新让用户输入分数。 方法一:if的多分支结构
/*A方案*/ 思考:运行这两个程序,有何不同? 方法二:switch结构 #include main() { float s; while (1) { printf(\请输入分数(-1结束):\#include main()数组 1. 从键盘输入10个整数,保存在一维数组a中,统计其中奇数、偶数的个数,将统计结果输出。 2. 从键盘输入10个互不相同的整数,找出其中最小值,输出该最小值及其下标。 3. 分别用“冒泡法”和“选择法”对10个整数按由小到大排序。 4. 有一个已按升序排列的数列,现要将键盘输入的一个数插入到该数/*B方案*/ #include main() { float s; printf(\请输入分数:\ scanf(\ while (1) { if (s>=90 && s<=100) {printf(\优秀\\n\ else if (s>=80 && s<90) {printf(\良好\\n\ else if (s>=70 && s<80) {printf(\中等\\n\ else if (s>=60 && s<70) {printf(\及格\\n\ else if (s>=0 && s<60) {printf(\不及格\\n\ else {printf(\数据有误,请重新输入:\ scanf(\ } } scanf(\ if (s==-1) break; switch((int)s/10) { case 10: if(s>100) { printf(\数据有误,请重新输入!\\n\ case 9: printf(\优秀\\n\ case 8: printf(\良好\\n\ case 7: printf(\中等\\n\ case 6: printf(\及格\\n\ case 5: case 4: case 3: case 2: case 1: case 0: printf(\不及格\\n\ default: printf(\数据有误,请重新输入!\\n\ } } }
2、从键盘输入一行字符(按“回车”结束输入),对其进行如下转换:
⑤ 如果是大写字母则转换为小写; ⑥ 如果是小写字母则转换为大写; ⑦ 如果是数字字符,则输出对应数值; ⑧ 若是其它字符,则输出“*” 。
#include main() { char c; while ((c=getchar( ))!='\\n') { if (c>='A'&&c<='Z') putchar(c+32); else if (c>='a'&&c<='z') putchar(c-32); else if (c>='0'&&c<='9') putchar(c); else putchar('*'); } putchar('\\n'); }
3、输入正整数n, 求1~n范围内的所有素数,要求每行只输出7个素数,并计算这些素数之和。
#include
#include void main()
{ int i,j,k,n,t=0,sum=0; printf(\请输入一个正整数:\ scanf(\ for(i=2;i<=n;i++) /*注:1不是素数*/ { k=sqrt(i); for(j=2;j<=k;j++) if(i%j==0) break; if(j>=k+1) { printf(\\\t\ /*利用横向跳格\\t使输出数据对齐,也可利用格式说明%md实现*/ t=t+1; if (t%7==0) printf(\
/*注:换行操作必须放在此处,若放在外面,则当t是7的倍数时,无论这个数是不是素数都要换行*/ sum=sum+i; } } printf(\