Ⅰ c语言怎样输入任意一个整数,要求输出每一位上的数,并且逆序输出例如输入567输出5、6、7和765
一个偷懒的算法,不过可能违背本意了。就是输入的整数存到数组里,再获取数组长度,逆序输出即可。
Ⅱ 任意输出3个数字 按从小到大排序输出 C语言
思路:三个数从小到大排序可以求出三个数中的最大数和最小数,三个数的和减去最大数和最小数,差就是中间数,三个数的最值可以使用三目运算符。
参考代码:
#include<math.h>
#include<stdio.h>
int main()
{
float a,b,c,max,min;
printf("input 3 number:\n");
scanf("%f%f%f",&a,&b,&c);
max=(a>b?a:b)>c?(a>b?a:b):c;
min=(a<b?a:b)<c?(a<b?a:b):c;
printf("output 3 number = %.2f %.2f %.2f",min,a+b+c-min-max,max);
return 0;
}
/*
输出:
input 3 number:
12.5 98.6 0.56
output 3 number = 0.56 12.50 98.60
*/
Ⅲ c语言如何单独输出一个数字的每一位
#include
#include
int main()
{
int iNumber;
cout << "请输入一个数字:" << endl;
cin >> iNumber;
//定义一个栈
int stack;
int top=-1;
while (iNumber % 10)
{
stack[++top]=iNumber % 10);
iNumber = iNumber / 10;
}
printf("从高到低依次是:\n")
for(;top>=0;top--)
{
printf("%d\n",stack[top]);
}
system("pause");
return 0;
}思路介绍,通过%和/去拆分每一位,通过数组去存储每一个数字.最后输出数组,就是输出每一位.
Ⅳ C语言中如何输出任意一个数字的每一位数字
比较常用的思路就是不断的除10,比如随便一个数字12345
12345/10=1234
12345%10=5
再把 1234/10=123
1234%10=4
这样就把这个数字按位拆开。
#include
#include
int main()
{
int iNumber;
cout << "请输入一个数字:" << endl;
cin >> iNumber;
//定义一个栈
int stack;
int top=-1;
while (iNumber % 10)
{
stack[++top]=iNumber % 10);
iNumber = iNumber / 10;
}
printf("从高到低依次是: ")
for(;top>=0;top--)
{
printf("%d ",stack[top]);
}
system("pause");
return 0;
(4)c语言输出任意个数字扩展阅读;
当一个运算对象两侧的运算符优先级别相同时,则按运算符的结合性来确定表达式的运算顺序。关于结合性的概念在其他高级语言中是没有的,这是C语言的特点之一。
C语言也将 34 种运算符规定了不同的结合性。大多数运算符结合方向是“自左至右”,即:先左后右,也叫“左结合性”,例如 a-b + c,表达式中有-和+两种运算符,且优先级相同,按先左后右结合方向,先围绕减号结合,执行 a-b 的运算,再围绕加号结合,完成运算(a-b) + c。
Ⅳ C语言中怎么把一个任意的数倒序输出.知道的请告诉一下,谢谢.
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
Ⅵ C语言如何从键盘输入任意3个数,按从小到大的顺序输出
代码1.
//输入3个数,要求按从小到大顺序输出
#include<stdio.h>
intmain()
{
inta,b,c,t;
printf("请输入三个数:");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("从小到大的顺序是:%d%d%d ",a,b,c);
return0;
}
代码2.
输入3个字符串,按从小到大顺序输出。//先用程序对三个数进行从小到大排序,然后修改程序
#include<stdio.h>
#include<string.h>
intmain()
{voidswap(char*pt1,char*pt2);
chara[20],b[20],c[20];
char*p1,*p2,*p3;
printf("请输入三个字符串:");
gets(a);
gets(b);
gets(c);
//或用scanf("%s,%s,%s",a,b,c);
p1=&a[0];p2=&b[0];p3=&c[0];//三个指针分别指向三个字符数组
if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b);//比较两个字符串的大小,为什么用前一句的时候会出现警告呢
if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3);
if(strcmp(b,c)>0)swap(b,c);//if(strcmp(*p2,*p3)>0)swap(*p2,*p3);
printf("由小到大排列:%s %s %s ",a,b,c);
return0;
}
voidswap(char*pt1,char*pt2)
{chart[20];
strcpy(t,pt1);
strcpy(pt1,pt2);
strcpy(pt2,t);
//t=*pt1;*pt1=*pt2;*pt2=t;
}
代码3.
#include<stdio.h>
#include<string.h>
#defineSIZE3
#defineLEN50
intmain(void)
{
charstr[SIZE][LEN];
char(*pst)[LEN]=str;
chartemp[LEN];
inti,j;
printf("Pleaseenter3string. ");
for(i=0;i<SIZE;i++)
{
fgets(*(pst+i),LEN,stdin);
}
printf("Beforsort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
{
if(strcmp(*(pst+i),*(pst+j))==1)
{
strcpy(temp,*(pst+i));
strcpy(*(pst+i),*(pst+j));
strcpy(*(pst+j),temp);
}
}
printf("Aftersort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
}
Ⅶ C语言中如何输出任意一个数字的每一位数字
比较常用的思路就是不断的除10,比如随便一个数字12345
12345/10=1234
12345%10=5
然后再把 1234/10=123
1234%10=4
这样就把这个数字按位拆开了
Ⅷ C语言怎么输出2个任意的0到10的数啊,帮我把程序写出来吧
函数原型:int rand(void);
头文件:#include<math.h>
是否是标准函数:是
函数功能:产生-90到32767之间的随机整数。
返回值:产生的随机整数。
例程如下: 利用函数rand产生处于0~10之间的2个随机整数。
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int i;
printf("Random numbers from 0 to 10\n");
for(i=0; i<2; i++)
printf("%d ", rand() % 10);
return 0;
}
别忘了给我加分 看我说的多详细!!
Ⅸ C语言如何做到将任意多位的一个数的位数输出
任何类型的数字都有一个范围,超出了这个范围就不能处理。但可以把输出的数字当作字符串就可以处理了。代码如下:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
intcnt=0;
charch;
while((ch=getchar())!=' '){
if(ch>='0'&&ch<='9'){
cnt++;
}
else{
printf("您输入的是一个无效的数字。 ");
}
}
printf("您输入的是一个%d位数。 ",cnt);
system("pause");
return0;
}
Ⅹ 谁能用c语言编程,一维数组任意一个数的输入输出,很急,谢谢
啥意思?
int data[10];
data[i] = ....;
int x = data[i];
不就行吗?
要是输入输出:scanf( "%d", &data[i] );
printf( "%d", data[i] );
要是C++:cin >>data[i];
cout << data[i];