C语言题型汇总--(题型2)--持更

这篇博客总结了C语言的题型,包括赋值、比较、数学问题、指针、结构体等。讨论了ASCII表、字符串操作、自定义函数、指针与链表、文件读写等内容,并提供了多个编程练习,如计算平方根、数列求和、字符串操作和日期计算等。还强调了数学公式和格式化表达式的使用,如%6.2f。
摘要由CSDN通过智能技术生成

C语言-题型汇总第二篇

题型1 赋值,比大小,ASCII表内问题,字符串函数
题型2 数学问题,几何图形,自定义函数(方法/子函数)
题型3 指针,结构体,链表,文件读写

其他篇地址:
题型1
题型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)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值