A. 求大神能用自定义函数编写输出一个数的各个位数(c语言)
# include<stdio.h>
int fun(int x)//自定义函数
{
int a[8],k=0;
while(x)
{
a[k++]=x%10;//提取各个位上的数,存储你在数组a中
x/=10;
}
for(int i=k-1;i>=0;i--)
printf("%d ",a[i]);
}
int main()
{
int x;
scanf("%d",&x);
fun(x);//调用函数
return 0;
}
B. 统计字符串中数字的个数并输出用C语言写出
哎,虽然没有大洋,我还是帮帮你吧。
#include "stdio.h"
void main()
{
char str1,str2,c;
int sum=0,i;
printf("please input a string:");
gets(str1);
for(i=0;(c=str[i])!='\0';i++)
if(c>='0' && c<='9')
{ sum+=1;
str2[sum-1]=c;/*将符合条件的字符存放到字符数组str2中*/
}
printf("there are %d numbers in the string",sum); /*用来输出统计的个数*/
pintf("%s",str2);/*输出具体的数字字符*/
}
C. C语言,如何输出每一位数字
要输出整型数值的每一位数字,关键在于将每一个数字提取出来。
方法有很多,实现方式更是多种多样,以最常见的两种方式举例说明:
一、传统方法,通过除法和模除,取出每一位,并输出。
参考代码如下:
#include<stdio.h>
voidoutput(intn)
{
inta[10];
intl=0;
/*
循环获取每一位的值,并存到数组a中。
其中l表示已经获取到的位数。
由于每次获取的是个位n%10,所以存在数组a中的是各个位数的逆序。
*/
while(n)
{
a[l++]=n%10;
n/=10;
}
//反序输出每一位值。
while(--l>=0)
printf("%d",a[l]);
}
intmain()
{
intn;
scanf("%d",&n);//输入n值。
output(n);//输出各个位。
return0;
}
二、转为字符串,然后输出字符串各个字符。
由于在C语言中,有很多库函数,比如itoa, sprintf等,都可以很方便的将整数转为字符串,而逐位输出字符串各个字节值是很简单的,所以可以通过转为字符串,再输出的方式输出各个位的值。
参考代码:
#include<stdio.h>
voidoutput(intn)
{
chara[11];
inti;
sprintf(a,"%d",n);//转为字符串。
for(i=0;a[i];i++)//遍历字符串。
printf("%c",a[i]);//输出各个位值。
}
intmain()
{
intn;
scanf("%d",&n);//输入n值。
output(n);//输出各个位。
return0;
}
D. C语言中如何书写输出格式,使输出后每行输出固定的数值个数,例如得到六个数,怎么写才能使每行输出三个数
定义一个计数器n=0
用for循环输出你的数每输出一个n++,当n%3==0时,就换行
例如
for(i=1;i<=6;i++)
{
n++;
//输出你行输出的数字
if(n%3==0)
printf("\n");
}
E. 在C语言中如何输出数字的位数
1. 使用itoa函数把数转换为字符串类型,在使用strlen函数统计字符串长度。即数字的位数。
2. 例程:
#include<stdio.h>
#include<stdlib.h>//itoa要使用的头文件
#include<string.h>//strlen要使用的头文件
voidmain()
{
inti,len;
charstr[20];
scanf("%d",&i);//读入一个数字
itoa(i,str,10);//将该数字转换成字符串类型
len=strlen(str);/*计算字符串的长度[参数1:要转换的数参数2:转换后存放到的位置参数3:以十进制转换]*/
printf("INTotal:%d ",len);
}