当前位置:首页 » 编程语言 » C语言一个整数只有一个9输出
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

C语言一个整数只有一个9输出

发布时间: 2022-11-03 01:27:06

c语言输出150到200之间只有一位数字为9的整数,我写了之后为什么还是有一个错误

函数声明:
在main函数上方 加入
int is(int n,int dight);

这句话

Ⅱ 用C语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int a[10];//每个数字的计数器
int num;
int i;
char ch[100],*ch1,num1;
for(i = 0;i < 10;i++)
a[i] = 0;
printf("请输入一个整数:");
scanf("%d",&num);
itoa(num,ch,10); //将数字转化为字符串
for(ch1 = ch;ch1<ch+strlen(ch);ch1++)
{
num1 = *ch1;
switch(num1)
{
case '0': a[0]++; break;
case '1': a[1]++; break;
case '2': a[2]++; break;
case '3': a[3]++; break;
case '4': a[4]++; break;
case '5': a[5]++; break;
case '6': a[6]++; break;
case '7': a[7]++; break;
case '8': a[8]++; break;
case '9': a[9]++; break;
default:break;
}
}
printf("各数字出现的次数如下:\n");
printf("数字:0 1 2 3 4 5 6 7 8 9\n");
printf("次数:");
for(i = 0;i < 10;i++)
printf("%-3d",a[i]);
printf("\n");
return 0;
}

Ⅲ 在C语言编程中,如何实现让电脑随机输出一1~9的整数

c语言中取得伪随机数主要使用srand()和rand()这两个函数.
rand()函数会返回一个伪随机数,但是这是通过一种数学公式推算出来的,得到的随机数分布太集中,这时候要使用srand()函数来设定产生随机数的种子,一般采用当前时间作为种子,这样可以得到分布比较均匀的伪随机数。
rand(),srand()函数位于stdlib.h文件中,取得时间的time()函数位于time.h文件中。随机数测试如下:
#i
nclude
<stdio.h>
#i
nclude
<stdlib.h>
#i
nclude<time.h>
void
main()
{
int
results[10];/*用于保存随机数产生的结果*/
int
i=0;
srand((int)time(0));/*设定种子*/
for(i=0;i<10;i++)
{
results[i]=0;
}
for(i=0;i<10000;i++)
{
(results[rand()%10])++;/*取一万次随机数,使用求余运算符使得最后取得的随机数小于10*/
}
for(i=0;i<1
0;i++)
{
printf("
%d
%d
\n",i,results[i]);/*输出0-9之间的随机数出现的次数*/
}
}
经多次运行试验,产生的随机数比较均匀

Ⅳ C语言输出150到200之间只有一位数字为9的整数,为什么我写了之后为什么还是有一个错误

#include<stdio.h>
intis(intn,intdight);
voidmain()
{
inti;
for(i=150;i<=200;i++)
{
if(is(i,9)!=0)
{
printf("%d",i);
printf(" ");
}
}
}
intis(intn,intdight)
{
intcount=0;
do{
if(n%10==dight)
{count++;}
n=n/10;
}while(n!=0);
if(count==1)
return1;
else
return0;
}

并没有什么问题啊,运行结果如下:

159

169

179

189

190

191

192

193

194

195

196

197

198

Ⅳ C语言 输入一个9位以内的正整数n,按数值从高到低的顺序输出n的各位数字

#include"stdio.h"
intmain(intargc,char*argv[]){
chars[10],i,j,k;
printf("Pleaseenterapositiveinteger(0~999999999)... ");
scanf("%9[0-9]",s);
for(i=0;s[i];i++){
for(k=i,j=k+1;s[j];j++)
if(s[k]<s[j])
k=j;
if(k!=i)
j=s[k],s[k]=s[i],s[i]=j;
printf("%c",s[i]);
}
printf(" ");
return0;
}

运行样例:

Ⅵ c语言输入一个整数(0-9之间),把这个整数转换为它对应的数字字符输出,怎样操作

int main()
{
int ch;
printf("please input a digital(between 0 and 9):\n");
scanf("%d", &ch);
if(ch >= 0 && ch <= 9)
{
printf("%c", '0'+ch);
}else{
printf("input error!\n");
}
}

关键的地方是:字符0(也即'0')加上一个整数(不要太大了,即不要超过ASCII的127),得到的值还是一个字符;如果是两个字符相减,则得到一个整数,该整数是两个字符之差(比如 'c' - 'a',得到int型的2)

Ⅶ C语言 输出10到200间所有含9且只含1个9的所有数,要求定义并调用sumdight(n)函数

#include <stdio.h>

int sumdigit(int n)

{ int s=0,m;

m=n;//把n赋值给m

while(n!=0)//经过while循环后n变为0了 所以会输出0

{if(n%10==9)

s++;

n=n/10;

}

if(s==1)

printf("%d ",m);//输出m m就是那个你想要的n

return s;

}


int main()

{ int sumdigit(int );

int i;

for(i=10;i<201;i++)

sumdigit(i);

}//你的方法没问题 就这一个地方没有注意到

Ⅷ 输入1,输出01;输入9输出09;输入13,输出13。这样的输出格式在c语言里怎么表示

#include<stdio.h>
int main(void)
{
int n;//n表示一个整数
printf("请输入一个数:\n");
scanf("%d",&n);
if(n<10)
{
printf("0%d\n",n);
}
else
{
printf("%d\n",n);
}
return 0;
}

Ⅸ C语言中,输入这样的1 2 3 3 3 9 9 9 9,怎样才能只输出一个3和9,也就是1 2 3 9!

输入的方法有两种,一种是用scanf()标准输入函数输入,一种是getchar()函数逐次读取用户按键的内容。
你的算法要求达到:自动屏蔽重复字符输入的功能。首先你要定义一个数组来容纳输入的内容,重点是每接收到一个新字符或者数字之前,都要用if语句判断是否和前面输入的字符一样。如果一样则不装入数组,进入下一次键入。
以上是简单的流程,你可以参考一下,用到几个基本函数都是非常基础的,你一定可以自己解决、

Ⅹ C语言输出150到200只有一位数字为9的数字,我的编程是正确的,只是最后的return 0为什么要加上,不明白

把最后的else return0删除也可出结果,那个是一般情况,可是在特殊情况下就不一定了,也就是说可能会出错的。
因为这个函数要求有个int型返回值,除非你明确给他指定返回值(就是用return语句来指定),否则它将返回一个不确定的值。既然这个值不确定,就也有可能是1。那么,这时候就会出现错误的结果了。所以在a不等于1的时候一定要用语句return 0;来确切的指定返回值为0.