挑选几个喜欢的程序以备日后回顾
- 编写程序,每24次平方后暂停并显示信息
#include <stdio.h>
int main(void){
int n=0,i=0;
printf("press enter to continue");
getchar();
printf("enter a number : ");
scanf("%d",&n);
for (i=0;i<n;i++){
if(i%24==0){
printf("press enter to continue");
getchar();
}
printf("%d\n",i*i);
}
return 0;
}
- 编写程序,可以把字母格式的电话号码翻译成数值格式
#include <stdio.h>
int main(void){
char letter;
printf("enter phone number :");
while((letter=getchar())!='\n'){
if(letter<'Z'&&letter>='A'){
switch(letter){
case 'A' : case 'B' : case 'C' :{
printf("2");
break;
}
case 'D' : case 'E' : case 'F' :{
printf("3");
break;
}
case 'G' : case 'H' : case 'I' :{
printf("4");
break;
}
case 'J' : case 'K' : case 'L' :{
printf("5");
break;
}
case 'M' : case 'N' : case 'O' :{
printf("6");
break;
}
case 'P' : case 'R' : case 'S' :{
printf("7");
break;
}
case 'T' : case 'U' : case 'V' :{
printf("8");
break;
}
case 'W' : case 'X' : case 'Y' :{
printf("9");
break;
}
}
continue;
}
putchar(letter);
}
return 0;
}
- 编写程序,根据字母稀缺程度不同而计算所输入单词的值
#include <stdio.h>
#include <ctype.h>
int main(void){
char letter;
int value=0;
printf("if you want to end please enter 0");
printf("\tand enter a word : ");
while((letter=getchar())!='\n'){
switch(toupper(letter)){
case 'A': case 'E':case 'I':case 'L': case 'N':case 'O':case 'R': case 'S':case 'T':case 'U':{
value=value+1;
break;
}
case 'D': case 'G':{
value=value+2;
break;
}
case 'B': case 'C':case 'M':case 'P':{
value=value+3;
break;
}
case 'F': case 'H':case 'V':case 'W':case 'Y':{
value=value+4;
break;
}
case 'k':{
value=value+5;
break;
}
case 'J': case 'X':{
value=value+8;
break;
}
case 'Q': case 'Z':{
value=value+10;
break;
}
}
}
printf("the scrabble value is : %d",value);
return 0;
}
- 编写程序,显示
sizeof()
的值
#include <stdio.h>
int main (void){
printf ("%d\n", (int)sizeof(int));
printf ("%d\n", (int)sizeof(short));
printf ("%d\n", (int)sizeof(long));
printf ("%d\n", (int)sizeof(float));
printf ("%d\n", (int)sizeof(double));
printf ("%d\n", (int)sizeof(long double));
return 0;
}
- 编写程序,使用户可以对两个分数进行加、减、乘、除运算
#include <stdio.h>
int main(void){
char calculate_sign,result;
int numberator_first=0,denominator_first=0;
int numberator_second=0,denominator_second=0;
int numberator_result=0,denominator_result=0;
int m,n,temp;
printf("enter two fraction\n");
scanf("%d/%d%c%d/%d",&numberator_first,&denominator_first,&calculate_sign,\
&numberator_second,&denominator_second);
switch(calculate_sign){
case '+' :{
numberator_result=numberator_first*denominator_second\
+numberator_second*denominator_first;
denominator_result=denominator_first*denominator_second;
break;
}
case '-' :{
numberator_result=numberator_first*denominator_second\
-numberator_second*denominator_second;
denominator_result=denominator_first*denominator_second;
break;
}
case '*' :{
numberator_result=numberator_first*denominator_second;
denominator_result=denominator_first*denominator_second;
break;
}
case '/' :{
numberator_result=numberator_first*denominator_second;
denominator_result=denominator_first*numberator_second;
break;
}
}
m=numberator_result;
n=denominator_result;
while(n!=0){
temp=n;
n=m%n;
m=temp;
numberator_result=numberator_result/m;
denominator_result=denominator_result/m;
}
if((result=getchar())=='\n'){
printf("the result is %d/%d",numberator_result,denominator_result);
return 0;
}
}
- 编写程序,根据用户输入的 12 小时制的时间,显示 24 小时制该时间
#include <stdio.h>
#include <ctype.h>
int main(void){
char sign,sign_new;
int hour=0,minute=0;
printf("enter a 12-hour time :");
scanf("%d:%d",&hour,&minute);
while(1){
sign_new=toupper(sign=getchar());
if(sign_new=='P'){
hour=hour+12;
break;
}
if(sign_new=='A'){
break;
}
}
printf("the equivalent 24-hour time : %d:%d ",hour,minute);
return 0;
}
- 编写程序,统计句子中元音字母的个数
#include <stdio.h>
#include <ctype.h>
int main(void){
int number=0;
char letter;
printf("enter a sentence :");
while(1){
letter=getchar();
if(letter=='\n'){
break;
}
switch(toupper(letter)){
case 'A' : case 'E' : case 'I' : case 'O' : case 'U' :{
number++;
break;
}
}
}
printf("your sentence contains %d vowels",number);
return 0;
}
- 编写程序,根据用户输入的英文名和姓先显示姓氏,其后跟一个逗号,然后显示名的首字母,最后加一个点 比如 Fosdick, L.
#include <stdio.h>
int main(void){
char name,name_first_first;
printf("enter a first and last name :");
printf("(if you want to end ,you can enter ,)");
scanf("%c",&name_first_first);
printf("look at this \n");
while(1){
name=getchar();
if(name==' '){
while(1){
name=getchar();
putchar(name);
if(name==','){
printf("%c.",name_first_first);
return 0;
}
}
}
}
}
- 编写程序,对表达式求值(此处主要为从左到右求值)
#include <stdio.h>
int main (void){
double number_1=0,number_2=0;
char letter;
printf ("enter an expression: ");
scanf ("%lf", &number_1);
while(1){
letter=getchar();
if (letter == '\n') break;
scanf ("%lf", &number_2);
switch(letter){
case '+':{
number_1 = number_1 + number_2;
break;
}
case '-':{
number_1 = number_1 - number_2;
break;
}
case '*':{
number_1 = number_1 * number_2;
break;
}
case '/':{
number_1 = number_1 / number_2;
break;
}
}
}
printf ("value of expression: %.1f", number_1);
return 0;
}
- 编写程序,计算句子的平均词长
#include <stdio.h>
int main(void){
int number=1,sum=-1;
char letter;
printf("enter a sentence : ");
while(1){
letter=getchar();
sum++;
if(letter==' '){
number++;
sum--;
}
if(letter=='\n'){
break;
}
}
printf("average word length %f ",(float)sum/number);
return 0;
}