c语言:输入一个正整数,统计该整数中数字8的个数.如果输入的数是负数输出字符串er

如题所述

第1个回答  2014-03-27
#include <stdio.h>
void main()
{
    int n,count=0;
    printf("请输入一个自然数:\n");
    scnaf("%d",&n);
    if(n<0)
        printf("er\n");
    else
    {
            while(n)
            {
                    if(n%10==8)
                        count++;
                    n=n/10;
            }
            printf("共有%d个8\n",count);
    }
}

 程序差不多就是这样,求采纳

追问

不对,在ACM里零分

第2个回答  2014-03-27
#include<stdio.h>
int main()
{
int n,i=0;
scanf("%d",&n);
if(n<0)printf("er\n");
else
{
while(n)
{
if(n%10==8)i++;
n/=10;
}
printf("%d\n",i);
}
return 0;
}

本回答被网友采纳
第3个回答  2014-03-28
#include <string.h>
void main()
{
char a[100];
int i,n,m=0;
gets(a);
i=strlen(a);
if(a[0]=='-')
printf("er\n");
else
{
for(n=0;n<i;n++)
{
if(a[n]=='8')
m++;
}
printf("there are %d 8\n",m);
}
}本回答被提问者采纳

c语言:输入一个正整数,统计该整数中数字8的个数.如果输入的数是负数输出...
include <stdio.h>void main(){ int n,count=0; printf("请输入一个自然数:\\n"); scnaf("%d",&n); if(n<0) printf("er\\n"); else { while(n) { if(n%10==8) count++; n=n\/10; } printf("共有%d个8\\n",count); }} 程...

C编程 实现输入一个正整数,输出其对应的二进制数。
include "stdio.h"int output(int num);void main(){ int num;printf("输入正整数:"); \/\/当超过一定位数时,会溢出 scanf("%d",&num);if(num<=0){ printf("输入整数!");} else { output(num);} } int output(int num){ int temp;if(num!=0){ temp=num%2;num=num\/2;outp...

java程序在控制台输入一个正整数,要求以二进制的形式输出
public static void main(String[] args) { int n = -10; String result = ""; boolean minus = false; \/\/如果该数字为负数,那么进行该负数+1之后的绝对值的二进制码的对应位取反,然后将它保存在result结果中 if(n < 0){ minus = true; n = Math.abs(n + 1...

vb问题,建立一个工程,在输入框中输入一个正整数(10进制),将其转化成...
Loop While shi <> 0 Print "转换为二进制数为:" & er End Sub

...正整数NUM的各个位上的数字之积。 例如: 如输入:123,则输出应该是...
不知道你要用什么语言实现。那就用C吧#include <stdio.h>int main(){ int NUM = 21456; \/\/你设定的正整数 int tmp1,tmp2,idx=0; int result = 1; tmp1 = NUM; while(tmp1> 0) { tmp2 = tmp1%10; result = result * tmp2; tmp1 = (int)(tmp1 \/10); \/\/除去最未末位 } printf("The...

C语言 一亿以内的正整数读法
if (k==0&&x!=0) printf("%s",wei[x-1]); \/\/如果没有被标记就读出来相应数位的拼音,就是如果输入的数字不包含0,就读,包含有下面的语句执行 if((c[2]!=0&&t==2||c[6]!=0&&t==6||c[10]!=0&&t==10)&&c[t-1]==0)\/\/十位,十万位,十亿位不为零,且下位是0,...

09计算机等级考试三级网络技术笔试重点解析
PROG1.C 存放三级网络技术C语言程序编制题的源文件。程序编制题所规定的输入数据文件和输出结果文件。例如:in.dat和out.dat等。B 上机考试内容B.1 程序编制调试运行当试题抽取成功后,上机考试系统已将需编制程序的部分源程序存放到文件PROG1.C中,考生在指定的三级网络技术C语言环境中,按照试题给定的要求在PROG1....

1编程:输入一个3位正整数,正确分离出其个位、十位、百位数字,并将结果...
1编程:program t1;var x,ge,shi,bai:integer; (声明变量)begin readln(x); (输入)ge:=x mod 10; (求个位上的数字)bai:=x div 100; (求百位上的数字)shi:=x div 10 -bai*10; (求十位上的数字)writeln(ge,shi:2,bai:2); ...

正则表达式怎么匹配前面紧跟某个字符串的字符
m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o" 将匹配 "fooooood" 中的前三个 o。'o' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。 ? 当该字符紧跟在任何一个其他限制符 (*, +, ?, , , ) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所...

C语言程序:将一个正整数分解成若干素数的幂次方的乘积
int main(){ int N,n,p,e,fir;scanf("%d", &N);n=N;fir=1;\/\/判断是不是第一项。fir=1表示是第一项 printf("%d = ",n);for(p=2;p<=N;p++){ e=0;while(N%p==0){ N\/=p;e++;} if(!e) continue;if(fir) fir=0;\/\/第一项还没输出,这里遇到第一项,标志设为0 e...

相似回答