C语言练习题目
1、求和运算
1 //求和运算 2 #include <stdio.h> 3 int main(int argc, char *argv[]) 4 { 5 int a,b,sum; 6 a=4; 7 b=43; 8 sum=a+b; 9 printf("%d\n",sum); 10 return 0; 11 }
2、求10!
1 //求10! 2 #include <stdio.h> 3 int main(int argc, char *argv[]) 4 { 5 int i,sum=1; 6 for(i=1;i<=10;i++) 7 { 8 sum*=i; 9 } 10 printf("%d\n",sum); 11 return 0; 12 }
3、猴子吃桃
1 //猴子吃桃日减一半零一个 2 #include <stdio.h> 3 int main(int argc, char *argv[]) 4 { 5 int i=1,number=1; //number是桃子的数量 ,i是倒数第i天 6 while(i<10) 7 { 8 number=(number+1)*2; 9 i++; 10 } 11 printf("The Total is %d\n",number); 12 return 0; 13 }
4、阳阳买苹果
//每个苹果0.8元,第一天买两个,以后每一天是前一天的两倍,
直到购买苹果数量达到不超过100的最大值,求每天平均花费多少钱?
1 #include <stdio.h> 2 int main(int argc, char *argv[]) 3 { 4 int n=2,day=0; 5 float money=0,ave; 6 while(n<=100) 7 { 8 money+=n*0.8; 9 n*=2; 10 day++; 11 } 12 printf("阳阳买苹果的天数是:%d天\n",day); 13 ave=money/day; 14 printf("平均每天花:%f元\n",ave); 15 return 0; 16 }
5、十进制转化为二进制
1 //设计十进制转化二进制的代码 2 /*思路:定义一个数组,装载整型二进制代码; 3 设计除法运算,得出余数和商,并将之放入数组中; 4 遍历数组,输出二进制代码。 5 */ 6 #include <stdio.h> 7 int main(int argc, char *argv[]) 8 { 9 int i,j,p,q,n; 10 int a[16]={0}; //整型数的十六位二进制数初始化数组为 0 11 printf("请输入0~32767之间的数:"); 12 scanf("%d",&n); 13 for(p=0;p<15;p++) //二进制的最高位是0,此处默认除法进行15次,第十六位默认正值 14 { 15 i=n%2; //二进制运算,取余的二进制位 16 j=n/2; //取商,继续参与运算 17 n=j; 18 a[p]=i; 19 } 20 for(q=15;q>=0;q--) 21 { 22 printf("%d",a[q]); 23 if(q%4==0) 24 printf(" "); 25 } 26 printf("\n"); 27 return 0; 28 }
6、计算字符串中字符个数
1 /** 2 需求:设计程序,计算字符串的长度 3 */ 4 #include <stdio.h> 5 int main(int argc, char *argv[]) 6 { 7 int len(char *p); //声明函数,返回字符串的长度 8 char str[20]; 9 printf("输入字符串:"); 10 gets(str); 11 printf("%d",len(str)); 12 return 0; 13 } 14 int len(char *p) 15 { 16 int i=0; 17 while(*p!='\0') 18 { 19 i++; 20 p++; 21 } 22 return i; 23 }
7、设计程序,分别打印出字符串中的字母、数字、空格和其它字符的个数
法一:
/** 需求:设计程序,分别统计出字符串中 英文字母、数字、空格已经其它字符的个数 */ #include <stdio.h> int main(int argc, char *argv[]) { char str[20]; char *p; p=str; printf("输入字符串:"); gets(str); int letter=0,num=0,space=0,other=0; while(*p!='\0') { if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z')) { letter++; p++; } else if(*p>='0'&&*p<='9') { num++; p++; } else if(*p==' ') { space++; p++; } else { other++; p++; } } printf("%d\n",letter); printf("%d\n",num); printf("%d\n",space); printf("%d\n",other); return 0; }
1 法二: 2 /** 3 需求:设计程序,分别统计出字符串中 4 英文字母、数字、空格已经其它字符的个数 5 */ 6 #include <stdio.h> 7 int main(int argc, char *argv[]) 8 { 9 char c; 10 printf("输入字符串:"); 11 int letter= 0,num= 0,space= 0,other= 0; 12 while((c=getchar()) != '\n') 13 { 14 if(c>='a' && c<='z' || c>='A' && c<='Z') 15 letter++; 16 else if(c>='0' && c<='9') 17 num++; 18 else if(c==' ') 19 space++; 20 else 21 other++; 22 } 23 printf("字母个数:%d\n数字个数:%d\n空格个数:%d\n其它字符个数:%d\n", letter, num, space, other); 24 getch(); 25 }
8、输入输出函数的使用
1 #include<stdio.h> 2 int main() 3 { 4 char a,b,c; 5 a=getch(); //输入一个字符,但不显示在屏幕上,然后执行下一条语句 6 putchar(a); 7 printf("\n"); 8 b=getche(); //输入一个字符,显示在屏幕上,然后执行下一条语句 9 putchar(b); 10 printf("\n"); 11 c=getchar(); //输入一个字符,显示在屏幕上,然后等待enter键入 12 putchar(c); 13 printf("\n"); 14 //输出BOY 15 putchar('B'); 16 a='O'; 17 b=putchar(a)+10; 18 printf("%c",b); 19 return 0; 20 }
9、九九乘法表编程
1 /* 2 九九乘法表 3 1*1=1 4 1*2=2 2*2=4 5 1*3=3 2*3=6 3*3=9 6 */ 7 #include<stdio.h> 9 int main() 10 { 11 //外层是行数,内层是列数 12 int i,j; 13 for(i=1;i<=9;i++) 14 { 15 for(j=1;j<=i;j++) 16 { 17 printf("%d*%d=%d\t",i,j,i*j); 18 } 19 putchar('\n'); 20 } 21 }
10、使用ceil();函数输出不小于某个小数的最小整数
1 #include<stdio.h> 2 #include<math.h> 3 int main(int argc, char *argv[]) 4 { 5 /* 6 使用ceil函数输出不小于某个小数的最小整数 7 */ 8 double arr[4]={3.4,4.534,-2.32,523.323}; 9 int i; 10 for(i=0;i<4;i++) 11 { 12 printf("%f\t",ceil(arr[i])); 13 } 14 return 0; 15 }
11、将输入的小写字母转化为大写字母
1 #include<stdio.h> 2 int main(int argc, char *argv[]) 3 { 4 /* 5 将输入的小写字母转化为大写字母 6 */ 7 printf("请输入小写字母:"); 8 char x=getchar(); 9 char y=x-32; 10 putchar(y); 11 return 0; 12 }
12、