C语言循环语句强化练习题

第4关:switch语句

本关需要你使用switch case语句完成一个判断学员成绩等级的小程序。

具体任务如下:

输入考试成绩(0-100之间的整数),根据该分数所处的区间,输出对应的等级。

等级设置如下:

分数区间 等级 [90,100] A [80,89] B [70,79] C [60,69] D [0,59] E

程序运行示例:

输入:89

输出:The grade is: B

#include <stdio.h>
char fun(int s){
    char grade;//存储分数对应的等级
    s = s/10%10;
    switch(s){
        case 0:s = 'A';break;
        case 9:s = 'A';break;
        case 8:s = 'B';break;
        case 7:s = 'C';break;
        case 6:s = 'D';break;
        default:s = 'E';break;
    }return s;

}

int main (void)
{
    int  score;
    scanf ("%d", &score);
    printf("The grade is: %c", fun(score));
    return 0;
}

第3关:fun函数

本关需要你完成编写函数fun计算一个数组中的值出现的次数。

具体任务如下:

将一个数组的值按逆序重新存放,例如,原来顺序为:8,6541。要求 改为:14568

#include <stdio.h>
#define N 10
void  fun(int arr[],int n)
{
  int t;
  for(int i = 0;i<N/2;i++){
    t = arr[i];
    arr[i] = arr[N-1-i];
    arr[N-1-i] = t;

  }

}
  int main()
  {
    int a[N]={34,56,4,1,10,8,6,5,4,1},i;

    getchar();
    for(i=0;i<N;i++)
      printf("%3d",a[i]);
    printf("\n");
    fun(a,N);
    for(i=0;i<N;i++)
      printf("%3d",a[i]);
    return 0;
}

第2关:嵌套循环程序设计

本关需要你完成一个嵌套循环程序设计。

具体任务如下:

输入打印行数n,输出共2n-1行的菱形。 例如: 输入:5。 输出:

#include <stdio.h>
int main(int argc, const char * argv[])
{
    int n;
    scanf("%d",&n);
    for(int i = 1; i <= n; i++)//外层循环,循环1次 要完成1行的打印.
    {
        for(int m=n-i;m>0;m--){
                printf(" ");
        }
        for(int j = 1; j <= 2*i-1;j++)
        {
            printf("*");
        }
        printf("\n");
    }

    for(int i = 1; i < n; i++)//外层循环,循环1次 要完成1行的打印.
    {
        for(int m=1;m<=i;m++){
                printf(" ");
        }
        for(int j = 2*(n-i)-1; j >0;j--)
        {
            printf("*");
        }

        printf("\n");

    }
    return 0;
}

第1关:求a^b的个位数

具体任务如下:

给定两个数ab(0 < a&&b <=2^30),求a^b的最后一位数。(即ab次幂的个位数) 提示:这题有一定的难度,小心超时,或超出数字的存储极限。

效果如下: 输入:6667 4454。 输出:9

#include <stdio.h>
#include <math.h>
int main(){
    int a[20],b[20];
    int x,y,c2,c1=0,m;
    scanf("%d %d",&x,&y);
    int i=0;
    //printf("%d\n",x);
    c1 = x%10;//取出x的个位数字
    //printf("%d\n",c1);

    c2 = y%4;
    //printf("%d\n",c2);
    m= pow(c1,c2);
    printf("%d",m%10);

}

如果文章对你有帮助的话,可不可以点个赞鼓励以下我!!  ^o^   谢谢了!!!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

又是被bug折磨的一天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值