SCAU高级语言程序设计--实验6 循环结构(二)(2)

SCAU高级语言程序设计--实验6 循环结构(二)(2)

二、堂下练习

1、找满足要求的数字

题目:输出1到9999中能被7整除,而且至少有一位数字是5的所有数字

思路:判断一个数字中是否有5,首先要掌握拆数字的方法。算法如下:一个整数a,使用a%10就可以得到个位数,然后再使用a /= 10,就可以去掉个位数字,重复上述步骤,就可以一个一个判断。

#include<stdio.h>
#include<stdlib.h>
int main(){
    int i,j;
    for(i=7;i<=9999;i+=7){
        j=i;
        while(j!=0){
            if(j%10==5){
                printf("%d\n",i);//遇到5就打印
                break;//遇到就跳出循环
            }
            j /= 10;//遇不到就下一位
        }
    }
    return 0;
}

 

2、打印图案

题目:由键盘输入正数n(n<10),要求输出如下中间数字为n的菱形图案。

思路:继续参考实验3,这个时候是更换了输出的图案而已。

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,i,j,k,h;
    scanf("%d",&n);//输入半层数,例如上图为4.
    for(i=1-n;i<=n-1;i++){//第几层
        //输出空格
        for(j=0;j<abs(i);j++)
            printf(" ");//先输入空格
        //输出数字
        for(k=1;k<=n-abs(i);k++)//输出左半边的数,如第4行的1234
            printf("%d",k);
        for(h=n-abs(i)-1;h>=1;h--)//输出右半边的数,如第4行的321
            printf("%d",h);
        //每行结束后换行
        printf("\n");//记得换行
    }
    return 0;
}
  • 14
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值