69,381
社区成员
发帖
与我相关
我的任务
分享
//输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)
#include<stdio.h>
#include<stdlib.h>
#define N 200
int main()
{
int i=7,temp,temp2;
while(i<=N){
if(0==i%7){//7的倍数
printf("%d\n",i);
++i;
continue;
}
else{
temp=i;
while(temp>=7){
temp2=temp-temp/10*10;//temp2是最低位数字
if(7==temp2){
printf("%d\n",i);//包含7的数
break;
}
temp/=10;//去掉最低位
}
i++;
}
}
system("pause");
return 0;
}
#include "StdAfx.h"
void print_7(int m)
{
int i = 0;
char Temp[100] = "\0";
for(i=1; i<=m; i++)
{
if(i%7 == 0)
{
printf("%d ",i);
continue;
}
sprintf(Temp,"%d",i);
if(strstr(Temp,"7") != NULL)
printf("%s ",Temp);
}
return;
}
#include "StdAfx.h"
/*
输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)
【要求】
【数据输入】一个整数N。(N不大于30000)
【数据输出】从小到大排列的不大于N的与7有关的数字,每行一个。
【样例输入】
20
【样例输出】
7
14
17
*/
#include <stdio.h>
#define ARRAY 30000
int main(int argc, char *argv[])
{
int data;
int i,m,j,k,index,fenjie[5];
int array_test[ARRAY];
int flag=0;
index=0;
printf("please input a data<=30000\n");
scanf("%d",&data);
for(i=7;i<=data;i++)
{
m=i;
for(j=4;j>=0;j--)
{
fenjie[j]=m%10;
m/=10;
}
flag=(fenjie[4]==7)||(fenjie[3]==7)||(fenjie[2]==7)||(fenjie[1]==7)||(fenjie[0]==7);
if((i%7==0)||flag)
{
array_test[index++]=i;
}
}
for(k=0;k<index;k++)
{
printf("%d\n",array_test[k]);
}
return 0;
}
#include <stdio.h>
#include <stdbool.h>
int main (void) {
int n,i;
bool is7 (int n);
scanf ("%i",&n);
for(i=7;i<=n;i++) {
if(i%7==0|is7(i)) {
printf ("%i\n",i);
}
}
return 0;
}
bool is7 (int n) {
do {
if(n%10==7) {
return true;
}
n/=10;
}while(n!=0);
return false;
}
#include <iostream>
using namespace std;
//判断是否是7的倍数
bool IsDivision(const int n,const int m =7)
{
return !(n%m);
}
//判断整数n中是否含有7
bool IsContain(const int n,const int m =7)
{
int temp = n;
while(temp)
{
if( m == temp%10)
return true;
else
temp /= 10;
}
return false;
}
int main()
{
int n;
cout<<"Enter n:"<<endl;
cin>>n;
for(int i=7;i<=n;++i)
{
if(IsDivision(i) || IsContain(i))
cout<<i<<endl;
}
system("pause");
return 0;
}