C语言-题型汇总第二篇
题型1 赋值,比大小,ASCII表内问题,字符串函数
题型2 数学问题,几何图形,自定义函数(方法/子函数)
题型3 指针,结构体,链表,文件读写
计算数学公式/数学表达式**
重点:数学公式,Format表达式(小数点)
%6.2f 表示一共6位数,其中两位是小数,不足六位前面补空格,小数点不算一位
1)关于圆
2)从键盘输入小于1000的正数,要求输出平方根,如果平方根不是整数,则输出其整数部分:
#include <stdio.h>
#include <math.h>
int main(){
int a;
int root;
do{
printf("输入一个小于1000的正数:");
scanf("%d",&a);
}while(a>=1000);
root=sqrt(a);
printf("%d\n",root);
return 0;
}
//do..while 做一次,直到while中的内容不出现,结束循环
//while(),其括号里是执行do循环的条件,也就是说加入a不大于等于1000时,跳出循环(只要a>=1000就一直循环)
3)函数表达式(if…else)
4)将考试成绩百分制转换成等级制
#include <stdio.h>
int main(){
float score;//百分制
char grade;//等级制
printf("请输入成绩:");
scanf("%f",&score);
while(score>100||score<0){
printf("请重新输入\n");scanf("%f",&score);}
switch((int)(score/10))//根据成绩的十位来判断
//example: 87/10=8 56/10=5
{
case 10:
case 9:grade='A';break;
case 8:grade='B';break;
case 7:grade='C';break;
case 6:grade='D';break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:grade='E';break;
}
printf("成绩为:%5.1f,相应的等级为%c\n",score,grade);
return 0;
}
//score除以10得到的double数进行强制类型转换,变成整数
//case 5-1都没有加break;也就是从case 5一直到最后一个case 0,grade都为E。假如数字为4,那程序识别到4时,因为没有break来停止,他就会一直向下执行,直到出现break
5)给一个不多于5位的正整数,
求出:
1.是几位数
2.分别输出每一位数
3.逆序输出
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
int num;
num=6887;//也可以换成scanf("%d",&num);
int n,indiv,ten,hundred,thousand,ten_thousand;
if(num>=1000){
n=4;}
else{
if(num>=100){
n=3;}
else {
if(num>=10){
n=2;}
else {
n=1;}}}
printf("每位数字是");
ten_thousand=(int)num/10000;
thousand=(int)(num-ten_thousand*10000)/