关于c++程序
来源:百度知道 编辑:UC知道 时间:2024/06/08 14:51:56
【敲七】
Description
输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)
Input
一个整数N。(N不大于30000)
Output
统计出不大于N的与7有关的数字的个数。如20以内与7有关的数为7、14、17共3个。
Sample Input
20
Sample Output
3
我的程序是
#include<iostream>
using namespace std;
int main()
{
int i,n,sum1=0,sum2=0,sum;
int f(int x);
cin>>n;
for(i=1;i<=n;i++){
if(i%7==0)
sum1++;
if(f(i)==1)
sum2++;
}
sum=sum1+sum2;
for(i=1;i<=n;i++)
{
if(i%7==0&&f(i)==1)
sum--;
}
cout<<sum<<endl;
return 0;
}
int f(int x ){
int m;
if(x%10==7)
return 1;
else
{
m=x/10;
f(m);
if(m==0)
return 0;}
}为什么不能运行?谁能帮我改改
Description
输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)
Input
一个整数N。(N不大于30000)
Output
统计出不大于N的与7有关的数字的个数。如20以内与7有关的数为7、14、17共3个。
Sample Input
20
Sample Output
3
我的程序是
#include<iostream>
using namespace std;
int main()
{
int i,n,sum1=0,sum2=0,sum;
int f(int x);
cin>>n;
for(i=1;i<=n;i++){
if(i%7==0)
sum1++;
if(f(i)==1)
sum2++;
}
sum=sum1+sum2;
for(i=1;i<=n;i++)
{
if(i%7==0&&f(i)==1)
sum--;
}
cout<<sum<<endl;
return 0;
}
int f(int x ){
int m;
if(x%10==7)
return 1;
else
{
m=x/10;
f(m);
if(m==0)
return 0;}
}为什么不能运行?谁能帮我改改
能运行就怪了, 不是我打击你,整个程序都乱七八糟的,根本看不明白你要怎么做,怎么给你改啊,至少把括号写明白啊!!!!!!
#include<iostream>
using namespace std;
int f(int x);
int main()
{
int i,n;
cin>>n;
for(i=1; i <= n; i++)
{
if(i % 7==0)
{
cout<<i<<endl;
continue;
}
if(f(i)==1)
{
cout<<i<<endl;
continue;
}
}
return 0;
}
int f( int x )
{
int m, n;
m = x;
while (m)
{
n = m % 10;
if ( n && n % 7 == 0) { return 1;}
m = m / 10;
}
return 0;
}
试试我这个,测试过了,可行
#include <iostream.h>
#include <iomanip.h>
void main()
{
int a,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;
cout<<"请输入一个不大于30000的整数:"<<endl;
cin>>a;
cout<<"其中7的倍数和包含7的数字有:"<<endl;
for (int i=1;i