高圆圆婚礼照片:输入一个整数,输出它含有几个数字8
在VC内
#include<stdio.h>
void main()
{
long a,b,n=0;
scanf("%d",&a);
while(a>0)
{
b=a/10;
b*=10;
b=a-b;
if(b==8)n++;
a/=10;
}
printf("%d\n",n);
}
void main(){
int a,i,total;
cin>>a;
total=0;
while (a>0){
if (a % 10==8) total++;
a /= 10;
}
cout<<total;
}
#include<stdio.h>
void main()
{
long a,b,n=0;
for( printf("请输入一个数字:") , scanf("%ld",&a) , b=a ; b>0 ; (b%10==8)?n++:0 , b/=10 );
printf("数字%ld中含有%ld个8\n",a,n);
}
已通过测试。
#include "iostream.h"
#include <stdlib.h>
#include <string.h>
void main()
{
long m;
int count=0;
cout<<"请输入任一整数:";
cin>>m;
char buffer[65];
itoa(m,buffer,10);
for(long i=0;i< (long )strlen(buffer);i++)
if(buffer[i]=='8') count++;
cout<<"整数"<<m<<"所含 8 的个数为:"<<count<<endl;
}
为了一起交流,尽管上面已经给出了,我在这里再提供一种方法,大家一起学习交流一下了.
用得着这么复杂吗?
main()
{
int num;
char cnum[20] = {0};
cin>>num;
sprintf(cnum, "%d",num);//将数字转化为数组
cout<<"num is" << strlen(cnum)<<endl;
}
交作业用的代码要规矩:
#include<stdio.h>
int main( ) {
int count = 0;
char buf[ 999 ],
*c = buf;
puts( "Please enter an integer:" );
gets( buf );
while( *c )
if( *c++ == '8' ) ++count;
printf( "\nCount of '8':\n%d\n", count );
}