编写一个标准C语言程序:输入一个整数,按如下方式输出:第一行输出所有数字,第二行输出……

第一行输出所有数字,第二行输出除第一个数字的所有数字,第三行输出出头两个数字的所有数字……最后一行输出最后一个数字。例如:输入整数654321,输出第一行:654321第... 第一行输出所有数字,
第二行输出除第一个数字的所有数字,
第三行输出出头两个数字的所有数字……
最后一行输出最后一个数字。
例如:输入整数 654321 ,
输出 第一行:654321
第二行:54321
第三行:4321
第四行:321
第五行:21
第六行:1
展开
 我来答
xoaxa
2014-08-21 · TA获得超过8608个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3447万
展开全部

#include <stdio.h>
#include <string.h>

int main() {
int n,i,j,len;
char s[20];
while(scanf("%d",&n) == 1) {
sprintf(s,"%d",n);
len = strlen(s);
for(i = 0; i < len; ++i) {
for(j = i; j < len; ++j)
printf("%c",s[j]);
printf("\n");
}
}
return 0;
}
kaixingui2012
推荐于2017-09-19 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6340万
展开全部

将整数存储到字符串,再按字符串进行输出就可以了。

我当时理解偏了,想成整型数组了,如果是整型数组,则没有字符串这样的方便输出了。

#include <stdio.h>
 
int main()
{
    char str[256];
    int i;
    scanf("%d", &i );//输入一个整数
    sprintf( str, "%d", i ); //将整数存储成一个字符串
    for( i=0;str[i];i++ )
        printf( "%s\n", &str[i] ); //这是采用字符串方式 进行数据输出,若是整型数组,就需要一个一个的输出了。
    return 0;
}
更多追问追答
追问
那整型数组是怎样输出呢?其实书上的例如是每个数字之间有空格,不知道是不是一个一个输出的意思,因为这一个练习题出现在前几章,还没有提到数组概念和转存为字符串的操作,应该有最原始的解决方法吧,当然也不是非要写出来,就想知道不用数组和转成字符串能不能做出来,就这麼个疑问。
追答

#include <stdio.h>
#include <math.h>
int main()
{
int i,len=0,j;
scanf("%d", &i );

j=i;
while( j ) 
{
len++;
j/=10 ;
} //计算出位数
do {
j=(int)pow(10,len) ; //计算10的N次方
printf( "%d\n", i%j ) ; //输出当前的数
i%=j; //缩小数据
len--;
} while( len );
return 0;
}
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潮范君
2014-08-21 · 知道合伙人软件行家
潮范君
知道合伙人软件行家
采纳数:1440 获赞数:2874
从事软件开发工作一年有余,主要C++方向。

向TA提问 私信TA
展开全部
#include<stdio.h>
#include<string.h>

int main()
{
int num;
int i,j;
char str[100];
int len;
scanf("%d",&num); //输入一个数字
sprintf(str,"%d",num); //把数字转为字符串来处理
len = strlen(str);  //得到字符串的长度
for(i=0;i<len;i++)
{
for(j=i;j<len;j++) //内循环,输出每行数字
{
printf("%c",str[j]);
}
printf("\n"); //换行
}

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4c67095
2014-08-21
知道答主
回答量:13
采纳率:0%
帮助的人:5万
展开全部
#include<stdio.h>
int main(int argc,char **argv)
{
int n;
printf("请输入最大数\n");
scanf("%d",&n);

for(int i = n; i > 0;--i)
{
for(int j = n; j > 0; --j)
printf("%d",j);
printf("\n");

}

return 0;

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gyx0909
2014-08-21 · TA获得超过298个赞
知道答主
回答量:36
采纳率:0%
帮助的人:10.5万
展开全部
main()
{
int num = 6;
int i,j;
for(i=1;i<=num;i++){
for(j=1;j<=num-i+1;j++)
{
printf("%f",j);
}
printf("\n");
}
}
追问
你没有看清题目,是给定不定位数的整数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式