1.输入一个整数 x,计算并输出下列分段函数 sign(x) 的值
#include<stdio.h> int main(void) { int x,y; printf("Enter x:"); scanf("%d",&x); if (x<0){ printf("y=sign(%d)=-1 ",x); } else if (x=0){ printf("y=sign(%d)=0 ",x); } else { printf("y=sign(%d)=1 ",x); } return 0; }
2.输入一个正整数 n,再输入 n 个学生的成绩,计算平均成绩,并统计所有及格学生的人数。
#include<stdio.h> int main(void) { int n,i,count; double grade,total; total = 0; count = 0; printf("Enter n:"); scanf("%d",&n); for(i=1;i<=n;i++){ printf("Enter grade #%d:",i); scanf("%Lf",&grade); total = total + grade; if (grade>=60){ count = count + 1; } } printf("Grade average = %.2f ",total/n); printf("Number of passes = %d ",count); return 0; }
3.输入 15 个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数
#include<stdio.h> int main(void) { int digit,letter,other; char ch; int i; digit = 0; letter = 0; other = 0; printf("Enter characters:"); for (i=1;i<=15;i++){ ch = getchar( ); if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) letter = letter + 1; else if(ch>='0'&&ch<='9') digit = digit + 1; else other = other + 1; } printf("letter=%d,digit=%d,other=%d",letter,digit,other); return 0 ; }
字符型变量在定义时用类型名char。
字符输入用getchar()。
设ch是字符型变量,函数getchar()的一般调用格式为:ch = getchar();
其功能是从键盘输入一个字符,并赋值给变量ch。
如要输入多个函数则采用循环结构。
4.循环输入多个年份 year,判断该年是否为闰年。判断闰年的条件是:能被 4 整除但不能被100 整除,或者能被 400 整除。输入-1退出程序执行
#include<stdio.h> int main(void) { int i,n,year; printf("Enter n:"); scanf("%d",&n); for(i=1;i<=n;i++){ printf("Enter year:"); scanf("%d",&year); if (year == -1){ break; } else if ((year%4 == 0 && year%100!=0)||(year%400 == 0)){ printf("该年为闰年。 "); } else { printf("该年不为闰年。 "); } } return 0; }
这题第一次输入的时候 else if ((year%4 == 0 && year%100!=0)||(year%400 == 0)) 里面的%我都是用的/,但是运行发现输入的闰年输出都成了不是闰年。
后来百度后发现应该用%,是取余的符号。好吧涨知识了。
5.输入五级制成绩(A-E),输出相应的百分制成绩(0-100)区间,要求使用 switch语句。例如,输入 A,输出 90-100。五级制成绩对应的百分制成绩区间为:A(90-100)、B(80-89)、C(70-79)、D(60-69)和 E(0-59)。
#include<stdio.h> int main(void) { char op; printf("Type in the word:"); scanf("%c",&op); switch(op){ case'A': printf("90-100 "); break; case'B': printf("80-89 "); break; case'C': printf("70-79 "); break; case'D': printf("60-69 "); break; case'E': printf("0-59 "); break; } return 0; }
6.查询水果的单价。有 4 种水果,苹果(apples)、梨(pears)、桔子(oranges)和葡萄(grapes),单价分别是 3.00 元/公斤,2.50 元/公斤,4.10 元/公斤和 10.20 元/公斤。在屏幕上显示以下菜单(编号和选项),用户可以连续查询水果的单价,当查询次数超过 5 次时,自动退出查询;不到 5 次时,用户可以选择退出。当用户输入编号 1~4,显示相应水果的单价(保留两位小数);输入 0,退出查询;输入其他编号,显示价格为 0。
[1] apples
[2] pears
[3] oranges
[4] grapes
[0] Exit
#include<stdio.h> int main(void) { int choice,i; double price; for(i=1;i<=5;i++){ printf("[1]apples "); printf("[2]pears "); printf("[3]oranges "); printf("[4]grapes "); printf("[0]exit "); printf("Enter choice:"); scanf("%d",&choice); if (choice == 0) break; switch(choice){ case 1:price=3.00;break; case 2:price=2.50;break; case 3:price=4.10;break; case 4:price=10.20;break; default:price=0.00;break; } printf("price=%.2f ",price); } return 0; }
以上代码基本都能在书上找到类似的例题,但是自己打的时候不够熟练,总是会忘记下一步是什么,并且常常会犯这样那样的错误,最后还要对照着书上的修改。
果然还是需要多练练呢。加油咯。