Ⅰ c语言中 怎样用if语句输出一个不多于五位数的每一位且交换顺序且判断它的位数
{
int a;
if(a>9999) printf("a 是五位数\n");
if(a>999) printf("a是四位数\n");
if(a>99) printf("a是百位数\n");
if(a>9) printf("a是十位数\n");
else printf("a是个位数\n")
}
Ⅱ 用c++中的if语句编写:给一个不多于5位正整数,按高到低打印每一位数,并求出它是几位数
========================================
#include <iostream>
using namespace std;
int main()
{
char a[20];
cin >> a;
unsigned length = strlen(a);
if (length <= 5)
{
for (unsigned i = 0; i < length; i++)
{
cout << a[i] << " ";
}
cout << endl << length << endl;
}
else
{
cout << "位数大于规定要求" << endl;
}
system("pause");
return 0;
}
========================================
#include <iostream>
using namespace std;
int main()
{
int a, bits = 0;
cin >> a;
int tmp1, tmp2, tmp3;
tmp1 = tmp2 = tmp3 = a;
if (a > 0 && a <= 99999)
{
do
{
tmp1 /= 10;
bits++;
} while (tmp1 != 0);
if (a < 10)
{
cout << a;
}
else
{
int i = 1, j;
while (tmp2 >= 10)
{
tmp2 = tmp2 / 10;
i = i * 10;
}
while (i != 0)
{
j = tmp3 / i;
tmp3 = tmp3 % i;
i = i / 10;
cout << j << " ";
}
}
cout << endl << bits << endl;
}
system("pause");
return 0;
}
Ⅲ C语言用编写:五位以内的正整数,求它是几位数,并逆序输出。
程序没有错误。但是格式又一点问题。在每else if和else语句加上{}。
修改后:
#include <stdio.h>
void main()
{
int a,b,c,d,e,x,m;
printf("请输入一个五位以内的正整数:\n");
scanf("%d",&x);
e=x/10000;
d=x%10000/1000;
c=x%1000/100;
b=x%100/10;
a=x%10;
if(x>99999||x<=0)
printf("ERROR!\n");
else if(x>9999){
m=5;
printf("数字为%d位数,逆序为%d%d%d%d%d\n",m,a,b,c,d,e);}
else if(x>999){
m=4;
printf("数字为%d位数,逆序为%d%d%d%d\n",m,a,b,c,d);}
else if(x>99){
m=3;
printf("数字为%d位数,逆序为%d%d%d\n",m,a,b,c);}
else if(x>9){
m=2;
printf("数字为%d位数,逆序为%d%d\n",m,a,b);}
else {
m=1;
printf("数字为%d位数,逆序为%d\n",m,a);}
}
Ⅳ c语言用if语句求三个数按顺序排列疑惑
你的这个程序要先修改一下,才能实现你所说的排序。将程序 改为:
#include<stdio.h> /* include 这个词你漏掉了一个字符u */
#include <conio.h> /* 加上这个头文件,是因为后面有getch() */
void main()
{
int a,b,c,t;
printf("please input a,b,c.\n");
scanf("%d,%d,%d",&a,&b,&c);
/*下面这几个if语句都要加{ },否则不能实现从小到大排序 */
if(a>b) {t=a;a=b;b=t;} /* 这一句的意思是:如果a>b,则交换a和b,否则什么也不做。即用a存 放a b二者中较小的数,b存放较大的数*/
if(a>c) {t=a;a=c;c=t;} /* a再和c比较,a存放二者较小的数。经过这次比较后,a是三个数中最小的*/
if(b>c) {t=b;b=c;c=t;} /*b和c比较,b存二者中较小的数,c存较大的数*/
printf("%d,%d,%d\n",a,b,c); /*这样比较过再输出,则a最小,b其次,c最大*/
getch();
}
Ⅳ c语言编程:给一个不多于五位的正整数,用if-else语句求出它是几位数
可以参考下面的代码:
#include <stdio.h>
void main()
{ intnum; printf("请输入一个不大于5位数的正整数:");
scanf("%d",&num);
if(num>99999||num<1)
printf("您的输入有误! ");
else { if(num<10)
printf("您输入的是1位数! ");
else if(num<100)
printf("您输入的是2位数! ");
else if(num<1000)
printf("您输入的是3位数! ");
else if(num<10000) printf("您输入的是4位数! ");
else printf("您输入的是5位数! "); } }
(5)c语言if语句求几位数扩展阅读:
if语句的一般形式如下:
if(表达式)语句1
[else语句2]
if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子
if 语句的执行流程:首先判断关键词 if 后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体,接着执行 if 体后的其他语句;否则,若该表达式的值为逻辑假(0),则不执行该 if 体,直接执行 if 体后的其他语句。