C语言程序设计

1.

【问题描述】

输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)

要求

【数据输入】一个整数N。(N不大于30000)

数据输出】从小到大排列的不大于N的与7有关的数字,每行一个。

解答:

#include <stdio.h>

void main(){

       int n,a,b,c,d,s,g,z;

       printf("请输入正整数z,7<=z<=30000\n");

       scanf_s("%d",&z);

       for(n=1;n<=z;n++)

       {

       a=n%7;

       b=n%10;

       c=(n-b)%10;

       d=(n-b-10*c)%100;

       s=(n-b-10*c-100*d)%1000;

       g=(n-b-10*c-100*d-1000*s)%1000;

       if(a==0 || b==7 || c==7 ||d==7 || s==7 || g==7)

       {

              printf("%d \n",n);

       }

       }

       getch();

}

运行结果:


2.

【问题描述】

数组排序:自主输入数组,找出第k大的数据,互换到位置k。

【样例输入】:1,54,6,23

【样例输出】:54,23,6,1

解答

#include <stdio.h>

#define N 80

void main()

{

       int i,j,k,n,tmp,imax,max,a[N];

       printf("请输入数组长度\n");

       scanf_s("%d",&k);

       for(i=0;i<k;i++)

       {

              printf("请输入数字\n");

              scanf_s("%d",&a[i]);

       }

       printf("原始数组为\n");

              for(n=0;n<k;n++)

              {

                     printf("%d",a[n]);

              }

              printf("\n");

       for(i=0;i<k;i++)

       {

              imax=i;max=a[i];

              for(j=i+1;j<=k;j++)

              {

                     if(a[i]<a[j])

                     {

                            imax=j;

                            max=a[j];

                     }

              }

              if(imax>i)

                     {

                            tmp=a[i];

                            a[i]=a[imax];

                            a[imax]=tmp;

                     }

       }

       printf("排序完成后\n");

       for(n=0;n<k;n++)

       {

              printf("%d ",a[n]);

       }

       getch();

}

运行结果:


3.

【问题描述】

对于给定的一个字符串,统计其中数字字符出现的次数。

数据输入】输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值