C语言5.11 题目描述 给定一个不多于5位的正整数,要求: 1、 求出它是几位数; 2、
可以参考下面的代码:
#include
void main()
{ int num; 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位数!
"); } }
扩展资料:
if语句的一般形式如下:
if(表达式)语句1
[else语句2]
if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子
if 语句的执行流程:首先判断关键词 if 后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体,接着执行 if 体后的其他语句;否则,若该表达式的值为逻辑假(0),则不执行该 if 体,直接执行 if 体后的其他语句。
参考资料来源:百度百科-if语句
#includeint main(){ unsigned int x=1, i=0; unsigned char c[5]={0}; while(1) { printf("输入正整数x(不超过5位):"); scanf("%u",&x); if(x/100000) { printf("超过范围!
"); continue; } i=0; do { c[i++]=x%10; }while(x /= 10); printf("%d位数
",i); while(i >0) printf("%d ",c[--i]); putchar('
'); } return 0;}
#include <stdio.h>
int main()
{
int n;
printf("请输入一个正整数:");
scanf("%d",&n);
if(n<=0)
{
printf("输入错误!\n");
}
else
{
if((n/10000)!=0)
{
printf("5\n");
}
else if((n/1000)!=0)
{
printf("4\n");
}
else if((n/100)!=0)
{
printf("3\n");
}
else if((n/10)!=0)
{
printf("2\n");
}
else
{
printf("1\n");
}
}
return 0;
}
2、 分别输出每一位数字,且每一位数字之后输出一个空格
#include <stdio.h>
int main()
{
int n;
printf("请输入一个正整数:");
scanf("%d",&n);
if(n<=0)
{
printf("输入错误!\n");
}
else
{
if((n/10000)!=0)
{
printf("%d ",n/10000%10);
}
if((n/1000)!=0)
{
printf("%d ",n/1000%10);
}
if((n/100)!=0)
{
printf("%d ",n/100%10);
}
if((n/10)!=0)
{
printf("%d ",n/10%10);
}
printf("%d ",n%10);
}
return 0;
}
3、 按逆序输出各位数字,且每一位数字之后输出一个空格
#include <stdio.h>
int main()
{
int n;
printf("请输入一个正整数:");
scanf("%d",&n);
if(n<=0)
{
printf("输入错误!\n");
}
else
{
printf("%d ",n%10);
if((n/10)!=0)
{
printf("%d ",n/10%10);
}
if((n/100)!=0)
{
printf("%d ",n/100%10);
}
if((n/1000)!=0)
{
printf("%d ",n/1000%10);
}
if((n/10000)!=0)
{
printf("%d ",n/10000%10);
}
}
return 0;
}
思路.套一个五次的循环 对10求余后再除10 代码还是自己多敲敲好。
伍柿派力: #include int main() {int cas, t, i, m;char buf[10000];char str[10000];scanf("%d", &cas); for (t = 1; t <= cas; t++){ scanf("%s", buf);m = 1;for (i = 0; i <= strlen(buf) - 1; i++)str[strlen(buf) - i - 1] = buf[i];str[strlen(buf)]='\0';printf("%s\n", str);}return 0; }
宜州市13624168257: c语言实现:问题描述:给定一个算术表达式,通过程序求出最后的结果. - ?
伍柿派力: 2、将中缀表达式转成后缀表达式.
宜州市13624168257: C语言编程题求教,给定一个整型数组A和整数N,求A中N个数相加的和的最大值,要求递归实现 - ?
伍柿派力: #include#include static int a[100], a, n; int f(int x) { int i, flag, max=0; for(i=0; i if(a[i]>=max) {max=a[i]; flag = i;} a[flag] = -1; if(x==1) return max; return max+f(x-1); } int main() { int i=0; a=10; n=3; srand(time(0)); for(i=0; i printf("%d ", a[i]=rand()%100); printf("\n%d", f(n)); }//你自己可以改n和a
宜州市13624168257: c语言实现:问题描述:给定一个算术表达式,通过程序求出最后的结果. 基本要求: 1. 从键盘输入要求解的 - ?
伍柿派力: typedef struct{ char *text; char key; void (*func)(); }ItemType; void menu(ItemType *,int); void menu(ItemType *item,int n) { int a,b; char ch; for(a=0;a<n;a++) { b=strlen(item[a].text); if(b>20||b<0){printf("error");return;} printf("%s\n",item[a].text); } do{ ...
宜州市13624168257: c语言题:给定一个数n(0<=n<=100),要求从n开始倒计时.输出n+1行,最后一行输出go! - ?
伍柿派力: #include <stdio.h> void main() { int n; scanf("%d",&n); for(;n>0;n--) printf("%d\n",n); printf("go!\n"); }
宜州市13624168257: 用c语言怎么写? 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一. - ?
伍柿派力: 这题就是让你用一个数组表示一个数字,比如int n[3]={12,13,14}就是表示121314这个6位整数,并使用这个数组表示的整数模拟整数+1的运算.思路就是从数组最后一个元素的整数开始做+1运算,最高进位,则进位到数组前一个元素整数中,...
宜州市13624168257: 求解C语言题目编程序输入一个给定的数n后,输出的所有不超过n的,其平方由左右对称的数字组成的数.如输入30,输出1,2,3,11,22,26,因为它们的平方是1... - ?
伍柿派力:[答案] 需要判断回文,我已经尽量简单 #include int fun(int n) { int i, j, a[20]={0}; for(i=0; n; i++, n/=10) a[i] = n%10; for(j=0, i--; j
宜州市13624168257: C语言程序题,硬币兑换:给定某一金额,输出其兑换成硬币的方案有几种、分别如何兑换?金额范围:0 - 1 - ?
伍柿派力: #include <stdio.h> int n=0; void test(int money,int a,int b,int c,int d){if(money>0){test(money-5,a+1,b,c,d);test(money-10,a,b+1,c,d);test(money-50,a,b,c+1,d);test(money-100,a,b,c,d+1);}if (money==0) {n++;printf("5分%d张,1角%d张,5...
宜州市13624168257: 在线等大神.c语言!题目描述 判断一个数是否是素数. 输入格式 一个大于1且小于100000000在线等大神.c语言!题目描述判断一个数是否是素数.输入... - ?
伍柿派力:[答案] #include int mian () { int m,i; printf("请输入大于1且小于100000000的整数"); scanf("%d",&m); for(i=2;iif(m%i==0) break; if(iprintf("not prime\n",n); else printf("prime\n",n); return 0; }
宜州市13624168257: C语言:给定一个正整数,写出它的 8 进制表示. - ?
伍柿派力: 展开全部#include int main() { int a,n; while(scanf("%d",&n)!=EOF) { for(;n;n--) { scanf("%d",&a); printf("%o\n",a); } } return 0; }